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 | ATL 2 - 1 BOS | ATL | 0.527 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | ATL 4 - 0 BOS | ATL | - | 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 | 6.5000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5271 |
| 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.437 | 5.141 | - | Base ML historical model prediction |
| 2 | variance_applied | 5 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 1 | 0.5271 | 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 | 0 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6750399356913185,
"base_low_score_probability": 0.4340836012861736,
"low_score_signal_threshold": 0.5140836012861736,
"low_score_signal_strength": 0.24095633440514486,
"confidence": 0.8775460000000002,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.5550920000000004
},
"prediction": "low_scoring",
"expected_total_runs": 3,
"pre_simulation_expected_total_runs": 6.5,
"low_score_model_expected_total_runs": 6.5,
"final_simulation_total_runs": 4,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 35,
"near_bucket_sample_size": 21,
"medium_bucket_sample_size": 35,
"wide_bucket_sample_size": 35,
"global_sample_size": 35,
"bucket_scope": "pooled_0.08",
"sparse_bucket": false,
"empirical_hit_rate": 0.4857,
"bayesian_hit_rate": 0.4906,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.545,
"raw_pick_probability": 0.5807,
"calibrated_pick_probability": 0.5271,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "BOS",
"games": 54,
"wins": 23,
"losses": 31,
"win_pct": 0.42592592592592593,
"runs_scored": 208,
"runs_allowed": 217,
"run_differential": -9,
"run_differential_per_game": -0.16666666666666666,
"available": true
},
"away": {
"team": "ATL",
"games": 56,
"wins": 37,
"losses": 19,
"win_pct": 0.6607142857142857,
"runs_scored": 289,
"runs_allowed": 194,
"run_differential": 95,
"run_differential_per_game": 1.6964285714285714,
"available": true
},
"run_differential_edge_per_game": -1.8631,
"win_pct_edge": -0.2348,
"quality_edge": -2.2153,
"margin_adjustment": -0.9304,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.496,
"home_runs": 0.546,
"home_win_probability": 0.4193
}
}{
"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": "BOS",
"final_score_winner": "ATL",
"pre_simulation_winner": "ATL",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "ATL 2 - 1 BOS",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 0,
"score_text": "ATL 4 - 0 BOS",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"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": "BOS",
"games": 54,
"wins": 23,
"losses": 31,
"win_pct": 0.42592592592592593,
"runs_scored": 208,
"runs_allowed": 217,
"run_differential": -9,
"run_differential_per_game": -0.16666666666666666,
"available": true
},
"away": {
"team": "ATL",
"games": 56,
"wins": 37,
"losses": 19,
"win_pct": 0.6607142857142857,
"runs_scored": 289,
"runs_allowed": 194,
"run_differential": 95,
"run_differential_per_game": 1.6964285714285714,
"available": true
}
}
}{
"applied": false,
"raw_margin": -0.9496,
"final_margin": -0.9496,
"margin_cap": 4.25,
"season_quality_edge": 2.2153,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.527103,
"final_confidence": 0.527103,
"confidence_cap": 0.545,
"score_gap": 0.9496,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.4857,
"calibration_bayesian_hit_rate": 0.4906,
"calibration_sparse_bucket": false,
"season_quality_edge": 2.2153,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"season run-differential edge supports the pick",
"Bayesian-smoothed bucket hit rate is below coin flip",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 1,
"score_text": "ATL 2 - 1 BOS",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 0,
"score_text": "ATL 4 - 0 BOS",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"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": 1,
"confidence": 0.527103,
"home_win_probability": 0.472897,
"away_win_probability": 0.527103,
"predicted_score_text": "ATL 2 - 1 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": "ATL",
"original_runs": 2,
"run_delta": -0.1267,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 66.0,
"quality": 0.33607090144143414,
"contact": 0.3596889698766074,
"power": 0.493076285713757,
"discipline": -0.18990348739858534,
"xwoba": 0.330439393939394,
"recent_xwoba": 0.330439393939394,
"barrel": 9.895454545454546,
"ab_hard_contact": 0.37077961910503265,
"ab_bat_speed": 71.00063251143771,
"ab_strikeout_rate": 0.2302138111328222,
"available_players": 9,
"top_players": [
{
"player_id": "671739",
"player_name": "Michael Harris II",
"position": "CF",
"weight": 8.0,
"quality": 1.2495073716780365,
"contact": 1.729714520952382,
"power": 2.0,
"discipline": -0.6249285714285713,
"xwoba": 0.39,
"recent_xwoba": 0.39,
"barrel": 16.3,
"ab_hard_contact": 1.5474424922318422,
"ab_bat_speed": 73.97722944444445,
"ab_strikeout_rate": 0.198,
"available": 1.0
},
{
"player_id": "621566",
"player_name": "Matt Olson",
"position": "1B",
"weight": 9.0,
"quality": 1.2541840988576916,
"contact": 1.172858906525574,
"power": 1.8323376238208822,
"discipline": 0.1967231040564373,
"xwoba": 0.379,
"recent_xwoba": 0.379,
"barrel": 15.8,
"ab_hard_contact": 1.6277048573699953,
"ab_bat_speed": 73.07602880658436,
"ab_strikeout_rate": 0.23641975308641977,
"available": 1.0
},
{
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"position": "RF",
"weight": 9.0,
"quality": 0.5616810974048335,
"contact": 0.6255427339285727,
"power": 0.7617936632459196,
"discipline": 0.5300714285714284,
"xwoba": 0.366,
"recent_xwoba": 0.366,
"barrel": 12.1,
"ab_hard_contact": 0.3410161220612108,
"ab_bat_speed": 73.59736111111111,
"ab_strikeout_rate": 0.215,
"available": 1.0
},
{
"player_id": "506702",
"player_name": "Sandy León",
"position": "C",
"weight": 3.0,
"quality": -0.11235522504850558,
"contact": -2.0,
"power": -2.0,
"discipline": -1.4567380952380953,
"xwoba": 0.13,
"recent_xwoba": 0.13,
"barrel": 0.0,
"ab_hard_contact": -1.5972131206457822,
"ab_bat_speed": 67.70119047619048,
"ab_strikeout_rate": 0.38095238095238093,
"available": 1.0
},
{
"player_id": "645277",
"player_name": "Ozzie Albies",
"position": "2B",
"weight": 9.0,
"quality": -0.4257347882607017,
"contact": -0.3574507279541435,
"power": -0.6918337987057152,
"discipline": 0.24888271604938283,
"xwoba": 0.298,
"recent_xwoba": 0.298,
"barrel": 3.7,
"ab_hard_contact": 0.057038311599955566,
"ab_bat_speed": 67.33542107583774,
"ab_strikeout_rate": 0.12561728395061728,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "801139",
"player_name": "Payton Tolle",
"quality": 0.4147328993247073,
"contact": 1.2782399037564354,
"command": 0.5352245334837762,
"movement": 1.0485690582191873,
"xwoba": 0.237,
"whiff": 26.0,
"faced_est_woba": 0.24614117124401913,
"faced_launch_speed": 82.70701994301994,
"faced_strikeout_rate": 0.26542857142857146,
"faced_run_exp": 0.004801696753246738
}
},
"home": {
"team": "BOS",
"original_runs": 1,
"run_delta": -0.3205,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 68.0,
"quality": 0.07792061747953812,
"contact": 0.0024869409461910695,
"power": -0.03247310490188104,
"discipline": 0.023058148813655897,
"xwoba": 0.32045588235294115,
"recent_xwoba": 0.32045588235294115,
"barrel": 8.31764705882353,
"ab_hard_contact": -0.03635005321971713,
"ab_bat_speed": 69.63442440195115,
"ab_strikeout_rate": 0.21604059068214257,
"available_players": 9,
"top_players": [
{
"player_id": "575929",
"player_name": "Willson Contreras",
"position": "1B",
"weight": 9.0,
"quality": 0.9066432016266668,
"contact": 0.9698479975704581,
"power": 1.4299448853844585,
"discipline": -0.2121190476190474,
"xwoba": 0.395,
"recent_xwoba": 0.395,
"barrel": 15.5,
"ab_hard_contact": 1.1821358029272309,
"ab_bat_speed": 74.56682823129252,
"ab_strikeout_rate": 0.2619047619047619,
"available": 1.0
},
{
"player_id": "702332",
"player_name": "Caleb Durbin",
"position": "3B",
"weight": 6.0,
"quality": -0.625606380869413,
"contact": -0.9677966563852806,
"power": -1.384701073991993,
"discipline": 0.28377272727272745,
"xwoba": 0.262,
"recent_xwoba": 0.262,
"barrel": 1.6000000000000003,
"ab_hard_contact": -0.8448786226970261,
"ab_bat_speed": 66.13055871212121,
"ab_strikeout_rate": 0.16022727272727272,
"available": 1.0
},
{
"player_id": "677800",
"player_name": "Wilyer Abreu",
"position": "RF",
"weight": 10.0,
"quality": 0.5457752006466545,
"contact": 0.5700386212485001,
"power": 0.7213366502624523,
"discipline": 0.2517147525676938,
"xwoba": 0.344,
"recent_xwoba": 0.344,
"barrel": 11.4,
"ab_hard_contact": 0.5577806242966394,
"ab_bat_speed": 73.04081777155307,
"ab_strikeout_rate": 0.1869281045751634,
"available": 1.0
},
{
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"position": "SS",
"weight": 5.0,
"quality": -0.15122721593186944,
"contact": -0.48757199433106574,
"power": -1.089457668981328,
"discipline": 0.7070873015873018,
"xwoba": 0.302,
"recent_xwoba": 0.302,
"barrel": 4.4,
"ab_hard_contact": -0.4682009986741865,
"ab_bat_speed": 65.1002380952381,
"ab_strikeout_rate": 0.1484126984126984,
"available": 1.0
},
{
"player_id": "686765",
"player_name": "Nick Sogard",
"position": "2B",
"weight": 6.0,
"quality": -0.035282689703906016,
"contact": 0.21245442176870838,
"power": -1.2408023226989544,
"discipline": 1.3350714285714285,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 0.0,
"ab_hard_contact": -0.3147131206457823,
"ab_bat_speed": 63.7968253968254,
"ab_strikeout_rate": 0.1357142857142857,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "519242",
"player_name": "Chris Sale",
"quality": 0.5321458577978851,
"contact": 0.9006519349820277,
"command": 0.6646530612244897,
"movement": -0.026322228394799738,
"xwoba": 0.279,
"whiff": 29.4,
"faced_est_woba": 0.297371898185941,
"faced_launch_speed": 83.7550487053796,
"faced_strikeout_rate": 0.2381080204774511,
"faced_run_exp": 0.009870838435374141
}
}
},
"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": 1,
"predicted_score_text": "ATL 2 - 1 BOS",
"confidence": 0.527103,
"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": "ATL 2 - 1 BOS",
"winner": "ATL"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 0,
"score_text": "ATL 4 - 0 BOS",
"winner": "ATL"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"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 ATL | True | 1.0283 | 1.0283 | 1 | 9 | 0 |
| Home BOS | True | 1.0106 | 1.0106 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Ronald Acuña Jr. | 130 | 1.0700 | 0.9332 | positive_batter_regression | 0.3660 | 0.2540 | 0.4600 | 12.10 | 44 | 89.40 | 17.40 | 27.10 | 21.70 | 13.60 | 1.2857 |
| 2B | Ozzie Albies | 39 | 0.9705 | -0.3937 | negative_batter_regression | 0.2980 | 0.2470 | 0.3700 | 3.70 | 26.60 | 86.40 | 17 | 21.70 | 12.20 | 7.20 | -0.8857 |
| LF | Mauricio Dubón | 88 | 0.9821 | -0.2392 | neutral | 0.2970 | 0.2500 | 0.3680 | 5 | 28.30 | 87 | 15.70 | 18 | 16.30 | 6.30 | -0.4571 |
| 3B | Austin Riley | 137 | 1.0264 | 0.3524 | neutral | 0.3130 | 0.2270 | 0.4190 | 10.60 | 46.10 | 91 | 18.10 | 32.80 | 28.60 | 7.50 | 0.2000 |
| 1B | Matt Olson | 8 | 1.1103 | 1.4705 | neutral | 0.3790 | 0.2590 | 0.5500 | 15.80 | 51.30 | 93.10 | 17 | 24.20 | 23.60 | 10.70 | -0.1429 |
| CF | Michael Harris II | 25 | 1.1121 | 1.4944 | neutral | 0.3900 | 0.3050 | 0.5750 | 16.30 | 56.10 | 93.40 | 11.40 | 26.70 | 19.20 | 3.60 | 0.4000 |
| SS | Jorge Mateo | 174 | 1.0036 | 0.0479 | negative_batter_regression | 0.3090 | 0.2580 | 0.4010 | 10.30 | 43.60 | 88.60 | 9.80 | 31.40 | 32.80 | 6.30 | -1.2286 |
| DH | Dominic Smith | 140 | 1.0411 | 0.5484 | neutral | 0.3650 | 0.3060 | 0.5030 | 9.50 | 42.10 | 89.90 | 16.50 | 21.30 | 16 | 3.40 | -0.2571 |
| C | Sandy León | 438 | 0.9390 | -0.8128 | positive_batter_regression | 0.1300 | 0.1320 | 0.1680 | 0 | 14.30 | 82.20 | 23.10 | 24.40 | 30 | 0 | 1.1429 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Wilyer Abreu | 16 | 1.0544 | 0.7256 | neutral | 0.3440 | 0.2660 | 0.4620 | 11.40 | 41.50 | 89.80 | 17.10 | 22.30 | 19.60 | 9.40 | -0.1429 |
| LF | Jarren Duran | 154 | 1.0120 | 0.1606 | neutral | 0.3010 | 0.2290 | 0.3880 | 12 | 40.70 | 90.60 | 15.50 | 33.90 | 27.40 | 7.50 | 0.5143 |
| CF | Ceddanne Rafaela | 29 | 0.9894 | -0.1420 | negative_batter_regression | 0.3050 | 0.2430 | 0.3690 | 7.70 | 38.30 | 87.20 | 9.20 | 25.40 | 21.40 | 6.30 | -1.2286 |
| 1B | Willson Contreras | 27 | 1.1021 | 1.3607 | neutral | 0.3950 | 0.2700 | 0.5340 | 15.50 | 43.50 | 89.90 | 15.40 | 30.90 | 25.20 | 9.80 | 0.0571 |
| 2B | Nick Sogard | 249 | 1.0005 | 0.0073 | negative_batter_regression | 0.3490 | 0.2980 | 0.3560 | 0 | 22.70 | 83.40 | 12.60 | 17.80 | 15.60 | 15.60 | -0.9143 |
| DH | Andruw Monasterio | 273 | 1.0021 | 0.0278 | neutral | 0.3030 | 0.2630 | 0.3740 | 6 | 38.80 | 87.80 | 20 | 17.80 | 19.80 | 6.60 | 0.0857 |
| SS | Isiah Kiner-Falefa | 149 | 0.9854 | -0.1944 | neutral | 0.3020 | 0.2560 | 0.3360 | 4.40 | 19.60 | 82.80 | 10.50 | 15.20 | 14.80 | 9.80 | -0.7143 |
| C | Carlos Narváez | 226 | 0.9949 | -0.0685 | neutral | 0.2910 | 0.2230 | 0.3400 | 7.20 | 37.70 | 91.20 | 14.60 | 28.30 | 28.90 | 8.80 | 0.0857 |
| 3B | Caleb Durbin | 194 | 0.9547 | -0.6043 | positive_batter_regression | 0.2620 | 0.2150 | 0.2830 | 1.60 | 28.20 | 84.80 | 8 | 15.60 | 15.20 | 6.70 | 1.0571 |
{
"home": {
"applied": true,
"offense_factor": 1.0106,
"raw_average_factor": 1.0106,
"team_espn_average_rank": 146.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "677800",
"player_name": "Wilyer Abreu",
"offense_factor": 1.0544,
"quality_score": 0.7256,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "677800",
"espn_id": 4990055,
"player_name": "Wilyer Abreu",
"team": "BOS",
"role": "batter",
"espn_rank": 16,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 16,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 207.0,
"ab_rank": 30,
"r_value": 24.0,
"r_rank": 96,
"h_value": 59.0,
"h_rank": 18,
"avg_value": 0.2850241,
"avg_rank": 34.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 22.0,
"rbi_rank": 118,
"tb_value": 89.0,
"tb_rank": 441,
"bb_value": 21.0,
"bb_rank": 76,
"so_value": 44.0,
"so_rank": 93,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.3493449,
"obp_rank": "56",
"slg_value": 0.4299516,
"slg_rank": "68",
"ops_value": 0.7792965,
"ops_rank": 64.0,
"war_value": 2.25,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 217.0,
"k_percent": 19.6,
"bb_percent": 9.4,
"woba": 0.349,
"xwoba": 0.344,
"xba": 0.266,
"xslg": 0.462,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 11.4,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 17.1,
"whiff_percent": 22.3,
"swing_percent": 47.8
},
"components": {
"expected_quality": 0.8787,
"regression_edge": -0.1429,
"xwoba_edge": 1.1143,
"xba_edge": 0.8286,
"xslg_edge": 1.2643,
"barrel_edge": 0.9667,
"hard_hit_edge": 0.3643,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "680776",
"player_name": "Jarren Duran",
"offense_factor": 1.012,
"quality_score": 0.1606,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680776",
"espn_id": 41610,
"player_name": "Jarren Duran",
"team": "BOS",
"role": "batter",
"espn_rank": 154,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 154,
"gp_value": 49.0,
"gp_rank": 151,
"ab_value": 197.0,
"ab_rank": 64,
"r_value": 26.0,
"r_rank": 76,
"h_value": 42.0,
"h_rank": 120,
"avg_value": 0.2131979,
"avg_rank": 144.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 8.0,
"hr_rank": 51,
"rbi_value": 27.0,
"rbi_rank": 61,
"tb_value": 77.0,
"tb_rank": 436,
"bb_value": 16.0,
"bb_rank": 143,
"so_value": 58.0,
"so_rank": 27,
"sb_value": 10.0,
"sb_rank": 15,
"obp_value": 0.2811059,
"obp_rank": "151",
"slg_value": 0.3908629,
"slg_rank": "101",
"ops_value": 0.6719688,
"ops_rank": 127.0,
"war_value": 0.58,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 27.4,
"bb_percent": 7.5,
"woba": 0.283,
"xwoba": 0.301,
"xba": 0.229,
"xslg": 0.388,
"sweet_spot_percent": 28.1,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 40.7,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 15.5,
"whiff_percent": 33.9,
"swing_percent": 47.2
},
"components": {
"expected_quality": 0.1167,
"regression_edge": 0.5143,
"xwoba_edge": -0.1143,
"xba_edge": -0.2286,
"xslg_edge": 0.2071,
"barrel_edge": 1.1,
"hard_hit_edge": 0.25,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.8667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "678882",
"player_name": "Ceddanne Rafaela",
"offense_factor": 0.9894,
"quality_score": -0.142,
"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": 29,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 29,
"gp_value": 52.0,
"gp_rank": 100,
"ab_value": 179.0,
"ab_rank": 119,
"r_value": 23.0,
"r_rank": 106,
"h_value": 51.0,
"h_rank": 64,
"avg_value": 0.2849162,
"avg_rank": 34.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 23.0,
"rbi_rank": 109,
"tb_value": 79.0,
"tb_rank": 519,
"bb_value": 12.0,
"bb_rank": 201,
"so_value": 41.0,
"so_rank": 118,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.3502538,
"obp_rank": "55",
"slg_value": 0.4413407,
"slg_rank": "58",
"ops_value": 0.7915945,
"ops_rank": 57.0,
"war_value": 2.05,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 185.0,
"k_percent": 21.4,
"bb_percent": 6.3,
"woba": 0.348,
"xwoba": 0.305,
"xba": 0.243,
"xslg": 0.369,
"sweet_spot_percent": 37.6,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 38.3,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 9.2,
"whiff_percent": 25.4,
"swing_percent": 48.6
},
"components": {
"expected_quality": 0.0037,
"regression_edge": -1.2286,
"xwoba_edge": 0.0,
"xba_edge": 0.1714,
"xslg_edge": -0.0643,
"barrel_edge": 0.1444,
"hard_hit_edge": -0.0929,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": 0.7167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "575929",
"player_name": "Willson Contreras",
"offense_factor": 1.1021,
"quality_score": 1.3607,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "575929",
"espn_id": 32532,
"player_name": "Willson Contreras",
"team": "BOS",
"role": "batter",
"espn_rank": 27,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 27,
"gp_value": 52.0,
"gp_rank": 100,
"ab_value": 187.0,
"ab_rank": 103,
"r_value": 25.0,
"r_rank": 81,
"h_value": 53.0,
"h_rank": 47,
"avg_value": 0.2834224,
"avg_rank": 37.0,
"2b_value": 6.0,
"2b_rank": 179,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 11.0,
"hr_rank": 30,
"rbi_value": 33.0,
"rbi_rank": 25,
"tb_value": 96.0,
"tb_rank": 336,
"bb_value": 21.0,
"bb_rank": 76,
"so_value": 56.0,
"so_rank": 36,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3744292,
"obp_rank": "27",
"slg_value": 0.5133689,
"slg_rank": "20",
"ops_value": 0.8877981,
"ops_rank": 16.0,
"war_value": 2.08,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 207.0,
"k_percent": 25.2,
"bb_percent": 9.8,
"woba": 0.393,
"xwoba": 0.395,
"xba": 0.27,
"xslg": 0.534,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 15.5,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 15.4,
"whiff_percent": 30.9,
"swing_percent": 46.9
},
"components": {
"expected_quality": 1.6723,
"regression_edge": 0.0571,
"xwoba_edge": 2.5,
"xba_edge": 0.9429,
"xslg_edge": 2.2929,
"barrel_edge": 1.8778,
"hard_hit_edge": 0.65,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "686765",
"player_name": "Nick Sogard",
"offense_factor": 1.0005,
"quality_score": 0.0073,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "686765",
"espn_id": 42979,
"player_name": "Nick Sogard",
"team": "BOS",
"role": "batter",
"espn_rank": 249,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 249,
"gp_value": 9.0,
"gp_rank": 449,
"ab_value": 30.0,
"ab_rank": 421,
"r_value": 3.0,
"r_rank": 405,
"h_value": 9.0,
"h_rank": 385,
"avg_value": 0.3,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 2.0,
"rbi_rank": 420,
"tb_value": 13.0,
"tb_rank": 1975,
"bb_value": 5.0,
"bb_rank": 337,
"so_value": 5.0,
"so_rank": 455,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.4,
"obp_rank": "-",
"slg_value": 0.4333333,
"slg_rank": "-",
"ops_value": 0.8333333,
"ops_rank": null,
"war_value": 0.2,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 28.0,
"k_percent": 15.6,
"bb_percent": 15.6,
"woba": 0.381,
"xwoba": 0.349,
"xba": 0.298,
"xslg": 0.356,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 22.7,
"exit_velocity_avg": 83.4,
"launch_angle_avg": 12.6,
"whiff_percent": 17.8,
"swing_percent": 36.0
},
"components": {
"expected_quality": 0.1676,
"regression_edge": -0.9143,
"xwoba_edge": 1.2571,
"xba_edge": 1.7429,
"xslg_edge": -0.25,
"barrel_edge": -1.5667,
"hard_hit_edge": -2.3214,
"exit_velocity_edge": -2.16,
"sweet_spot_edge": 0.5167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "655316",
"player_name": "Andruw Monasterio",
"offense_factor": 1.0021,
"quality_score": 0.0278,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "655316",
"espn_id": 36950,
"player_name": "Andruw Monasterio",
"team": "BOS",
"role": "batter",
"espn_rank": 273,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 273,
"gp_value": 29.0,
"gp_rank": 320,
"ab_value": 85.0,
"ab_rank": 303,
"r_value": 9.0,
"r_rank": 306,
"h_value": 21.0,
"h_rank": 277,
"avg_value": 0.2470588,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 10.0,
"rbi_rank": 273,
"tb_value": 32.0,
"tb_rank": 1618,
"bb_value": 6.0,
"bb_rank": 306,
"so_value": 18.0,
"so_rank": 329,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2967032,
"obp_rank": "-",
"slg_value": 0.3764705,
"slg_rank": "-",
"ops_value": 0.6731737,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 89.0,
"k_percent": 19.8,
"bb_percent": 6.6,
"woba": 0.3,
"xwoba": 0.303,
"xba": 0.263,
"xslg": 0.374,
"sweet_spot_percent": 38.8,
"barrel_batted_rate": 6.0,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 20.0,
"whiff_percent": 17.8,
"swing_percent": 46.9
},
"components": {
"expected_quality": 0.0579,
"regression_edge": 0.0857,
"xwoba_edge": -0.0571,
"xba_edge": 0.7429,
"xslg_edge": 0.0071,
"barrel_edge": -0.2333,
"hard_hit_edge": -0.0214,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": 0.9167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "643396",
"player_name": "Isiah Kiner-Falefa",
"offense_factor": 0.9854,
"quality_score": -0.1944,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643396",
"espn_id": 33572,
"player_name": "Isiah Kiner-Falefa",
"team": "BOS",
"role": "batter",
"espn_rank": 149,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 149,
"gp_value": 29.0,
"gp_rank": 320,
"ab_value": 58.0,
"ab_rank": 361,
"r_value": 8.0,
"r_rank": 327,
"h_value": 16.0,
"h_rank": 325,
"avg_value": 0.275862,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 10.0,
"rbi_rank": 273,
"tb_value": 21.0,
"tb_rank": 1889,
"bb_value": 6.0,
"bb_rank": 306,
"so_value": 10.0,
"so_rank": 397,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.34375,
"obp_rank": "-",
"slg_value": 0.3620689,
"slg_rank": "-",
"ops_value": 0.7058189,
"ops_rank": null,
"war_value": 0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 57.0,
"k_percent": 14.8,
"bb_percent": 9.8,
"woba": 0.327,
"xwoba": 0.302,
"xba": 0.256,
"xslg": 0.336,
"sweet_spot_percent": 39.1,
"barrel_batted_rate": 4.4,
"hard_hit_percent": 19.6,
"exit_velocity_avg": 82.8,
"launch_angle_avg": 10.5,
"whiff_percent": 15.2,
"swing_percent": 50.8
},
"components": {
"expected_quality": -0.3861,
"regression_edge": -0.7143,
"xwoba_edge": -0.0857,
"xba_edge": 0.5429,
"xslg_edge": -0.5357,
"barrel_edge": -0.5889,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.4,
"sweet_spot_edge": 0.9667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665966",
"player_name": "Carlos Narváez",
"offense_factor": 0.9949,
"quality_score": -0.0685,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665966",
"espn_id": 5012120,
"player_name": "Carlos Narvaez",
"team": "BOS",
"role": "batter",
"espn_rank": 226,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 226,
"gp_value": 35.0,
"gp_rank": 271,
"ab_value": 101.0,
"ab_rank": 266,
"r_value": 13.0,
"r_rank": 244,
"h_value": 22.0,
"h_rank": 268,
"avg_value": 0.2178217,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 3.0,
"rbi_rank": 403,
"tb_value": 33.0,
"tb_rank": 1520,
"bb_value": 10.0,
"bb_rank": 239,
"so_value": 33.0,
"so_rank": 177,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3008849,
"obp_rank": "-",
"slg_value": 0.3267326,
"slg_rank": "-",
"ops_value": 0.6276175,
"ops_rank": null,
"war_value": 0.27,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 105.0,
"k_percent": 28.9,
"bb_percent": 8.8,
"woba": 0.288,
"xwoba": 0.291,
"xba": 0.223,
"xslg": 0.34,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 14.6,
"whiff_percent": 28.3,
"swing_percent": 52.6
},
"components": {
"expected_quality": -0.1809,
"regression_edge": 0.0857,
"xwoba_edge": -0.4,
"xba_edge": -0.4,
"xslg_edge": -0.4786,
"barrel_edge": 0.0333,
"hard_hit_edge": -0.1786,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "702332",
"player_name": "Caleb Durbin",
"offense_factor": 0.9547,
"quality_score": -0.6043,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "702332",
"espn_id": 5007615,
"player_name": "Caleb Durbin",
"team": "BOS",
"role": "batter",
"espn_rank": 194,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 194,
"gp_value": 48.0,
"gp_rank": 158,
"ab_value": 147.0,
"ab_rank": 178,
"r_value": 14.0,
"r_rank": 227,
"h_value": 24.0,
"h_rank": 247,
"avg_value": 0.1632653,
"avg_rank": 173.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 16.0,
"rbi_rank": 192,
"tb_value": 35.0,
"tb_rank": 1588,
"bb_value": 11.0,
"bb_rank": 218,
"so_value": 25.0,
"so_rank": 244,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.2407407,
"obp_rank": "174",
"slg_value": 0.2380952,
"slg_rank": "173",
"ops_value": 0.4788359,
"ops_rank": 174.0,
"war_value": 0.4,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 158.0,
"k_percent": 15.2,
"bb_percent": 6.7,
"woba": 0.225,
"xwoba": 0.262,
"xba": 0.215,
"xslg": 0.283,
"sweet_spot_percent": 22.6,
"barrel_batted_rate": 1.6,
"hard_hit_percent": 28.2,
"exit_velocity_avg": 84.8,
"launch_angle_avg": 8.0,
"whiff_percent": 15.6,
"swing_percent": 43.0
},
"components": {
"expected_quality": -1.1505,
"regression_edge": 1.0571,
"xwoba_edge": -1.2286,
"xba_edge": -0.6286,
"xslg_edge": -1.2929,
"barrel_edge": -1.2111,
"hard_hit_edge": -1.5357,
"exit_velocity_edge": -1.6,
"sweet_spot_edge": -1.7833,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0283,
"raw_average_factor": 1.0283,
"team_espn_average_rank": 131.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "660670",
"player_name": "Ronald Acuña Jr.",
"offense_factor": 1.07,
"quality_score": 0.9332,
"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": 130,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 130,
"gp_value": 42.0,
"gp_rank": 215,
"ab_value": 157.0,
"ab_rank": 161,
"r_value": 22.0,
"r_rank": 120,
"h_value": 37.0,
"h_rank": 159,
"avg_value": 0.2356687,
"avg_rank": 104.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 12.0,
"rbi_rank": 248,
"tb_value": 54.0,
"tb_rank": 1048,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 41.0,
"so_rank": 118,
"sb_value": 8.0,
"sb_rank": 33,
"obp_value": 0.3510638,
"obp_rank": "49",
"slg_value": 0.343949,
"slg_rank": "139",
"ops_value": 0.6950128,
"ops_rank": 112.0,
"war_value": 0.75,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 179.0,
"k_percent": 21.7,
"bb_percent": 13.6,
"woba": 0.321,
"xwoba": 0.366,
"xba": 0.254,
"xslg": 0.46,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 12.1,
"hard_hit_percent": 44.0,
"exit_velocity_avg": 89.4,
"launch_angle_avg": 17.4,
"whiff_percent": 27.1,
"swing_percent": 45.7
},
"components": {
"expected_quality": 1.1243,
"regression_edge": 1.2857,
"xwoba_edge": 1.7429,
"xba_edge": 0.4857,
"xslg_edge": 1.2357,
"barrel_edge": 1.1222,
"hard_hit_edge": 0.7214,
"exit_velocity_edge": 0.24,
"sweet_spot_edge": -0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "645277",
"player_name": "Ozzie Albies",
"offense_factor": 0.9705,
"quality_score": -0.3937,
"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": 39,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 39,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 216.0,
"ab_rank": 16,
"r_value": 35.0,
"r_rank": 24,
"h_value": 58.0,
"h_rank": 22,
"avg_value": 0.2685185,
"avg_rank": 51.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 8.0,
"hr_rank": 51,
"rbi_value": 27.0,
"rbi_rank": 61,
"tb_value": 90.0,
"tb_rank": 598,
"bb_value": 18.0,
"bb_rank": 115,
"so_value": 29.0,
"so_rank": 208,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3278008,
"obp_rank": "83",
"slg_value": 0.4166666,
"slg_rank": "80",
"ops_value": 0.7444674,
"ops_rank": 81.0,
"war_value": 1.72,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 233.0,
"k_percent": 12.2,
"bb_percent": 7.2,
"woba": 0.329,
"xwoba": 0.298,
"xba": 0.247,
"xslg": 0.37,
"sweet_spot_percent": 33.5,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 26.6,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 17.0,
"whiff_percent": 21.7,
"swing_percent": 54.7
},
"components": {
"expected_quality": -0.3137,
"regression_edge": -0.8857,
"xwoba_edge": -0.2,
"xba_edge": 0.2857,
"xslg_edge": -0.05,
"barrel_edge": -0.7444,
"hard_hit_edge": -1.7643,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"offense_factor": 0.9821,
"quality_score": -0.2392,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643289",
"espn_id": 35304,
"player_name": "Mauricio Dubon",
"team": "ATL",
"role": "batter",
"espn_rank": 88,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 88,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 197.0,
"ab_rank": 64,
"r_value": 22.0,
"r_rank": 120,
"h_value": 51.0,
"h_rank": 64,
"avg_value": 0.2588832,
"avg_rank": 73.0,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 29.0,
"rbi_rank": 46,
"tb_value": 76.0,
"tb_rank": 680,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 34.0,
"so_rank": 167,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3113207,
"obp_rank": "113",
"slg_value": 0.3857868,
"slg_rank": "106",
"ops_value": 0.6971075,
"ops_rank": 108.0,
"war_value": 1.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 204.0,
"k_percent": 16.3,
"bb_percent": 6.3,
"woba": 0.313,
"xwoba": 0.297,
"xba": 0.25,
"xslg": 0.368,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 28.3,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 15.7,
"whiff_percent": 18.0,
"swing_percent": 50.8
},
"components": {
"expected_quality": -0.2256,
"regression_edge": -0.4571,
"xwoba_edge": -0.2286,
"xba_edge": 0.3714,
"xslg_edge": -0.0786,
"barrel_edge": -0.4556,
"hard_hit_edge": -1.5214,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "663586",
"player_name": "Austin Riley",
"offense_factor": 1.0264,
"quality_score": 0.3524,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663586",
"espn_id": 34982,
"player_name": "Austin Riley",
"team": "ATL",
"role": "batter",
"espn_rank": 137,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 137,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 208.0,
"ab_rank": 26,
"r_value": 28.0,
"r_rank": 63,
"h_value": 46.0,
"h_rank": 95,
"avg_value": 0.2211538,
"avg_rank": 135.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 8.0,
"hr_rank": 51,
"rbi_value": 31.0,
"rbi_rank": 35,
"tb_value": 80.0,
"tb_rank": 445,
"bb_value": 18.0,
"bb_rank": 115,
"so_value": 67.0,
"so_rank": 17,
"sb_value": 3.0,
"sb_rank": 119,
"obp_value": 0.2943722,
"obp_rank": "132",
"slg_value": 0.3846153,
"slg_rank": "108",
"ops_value": 0.6789875,
"ops_rank": 121.0,
"war_value": 0.71,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 28.6,
"bb_percent": 7.5,
"woba": 0.306,
"xwoba": 0.313,
"xba": 0.227,
"xslg": 0.419,
"sweet_spot_percent": 31.2,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 46.1,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 18.1,
"whiff_percent": 32.8,
"swing_percent": 48.2
},
"components": {
"expected_quality": 0.3772,
"regression_edge": 0.2,
"xwoba_edge": 0.2286,
"xba_edge": -0.2857,
"xslg_edge": 0.65,
"barrel_edge": 0.7889,
"hard_hit_edge": 1.0214,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": -0.35,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "621566",
"player_name": "Matt Olson",
"offense_factor": 1.1103,
"quality_score": 1.4705,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621566",
"espn_id": 32767,
"player_name": "Matt Olson",
"team": "ATL",
"role": "batter",
"espn_rank": 8,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 8,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 216.0,
"ab_rank": 16,
"r_value": 38.0,
"r_rank": 10,
"h_value": 56.0,
"h_rank": 32,
"avg_value": 0.2592592,
"avg_rank": 73.0,
"2b_value": 17.0,
"2b_rank": 1,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 15.0,
"hr_rank": 7,
"rbi_value": 44.0,
"rbi_rank": 3,
"tb_value": 118.0,
"tb_rank": 362,
"bb_value": 27.0,
"bb_rank": 37,
"so_value": 57.0,
"so_rank": 31,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3414634,
"obp_rank": "67",
"slg_value": 0.5462962,
"slg_rank": "14",
"ops_value": 0.8877596,
"ops_rank": 16.0,
"war_value": 2.53,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 235.0,
"k_percent": 23.6,
"bb_percent": 10.7,
"woba": 0.384,
"xwoba": 0.379,
"xba": 0.259,
"xslg": 0.55,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 15.8,
"hard_hit_percent": 51.3,
"exit_velocity_avg": 93.1,
"launch_angle_avg": 17.0,
"whiff_percent": 24.2,
"swing_percent": 45.3
},
"components": {
"expected_quality": 1.7332,
"regression_edge": -0.1429,
"xwoba_edge": 2.1143,
"xba_edge": 0.6286,
"xslg_edge": 2.5,
"barrel_edge": 1.9444,
"hard_hit_edge": 1.7643,
"exit_velocity_edge": 1.72,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "CF",
"player_id": "671739",
"player_name": "Michael Harris II",
"offense_factor": 1.1121,
"quality_score": 1.4944,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "671739",
"espn_id": 42470,
"player_name": "Michael Harris II",
"team": "ATL",
"role": "batter",
"espn_rank": 25,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 25,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 188.0,
"ab_rank": 98,
"r_value": 25.0,
"r_rank": 81,
"h_value": 56.0,
"h_rank": 32,
"avg_value": 0.2978723,
"avg_rank": 15.0,
"2b_value": 6.0,
"2b_rank": 179,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 12.0,
"hr_rank": 20,
"rbi_value": 32.0,
"rbi_rank": 31,
"tb_value": 98.0,
"tb_rank": 579,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 39.0,
"so_rank": 131,
"sb_value": 3.0,
"sb_rank": 119,
"obp_value": 0.324873,
"obp_rank": "90",
"slg_value": 0.5212765,
"slg_rank": "18",
"ops_value": 0.8461495,
"ops_rank": 33.0,
"war_value": 2.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 186.0,
"k_percent": 19.2,
"bb_percent": 3.6,
"woba": 0.376,
"xwoba": 0.39,
"xba": 0.305,
"xslg": 0.575,
"sweet_spot_percent": 29.1,
"barrel_batted_rate": 16.3,
"hard_hit_percent": 56.1,
"exit_velocity_avg": 93.4,
"launch_angle_avg": 11.4,
"whiff_percent": 26.7,
"swing_percent": 56.5
},
"components": {
"expected_quality": 1.9902,
"regression_edge": 0.4,
"xwoba_edge": 2.4286,
"xba_edge": 1.9429,
"xslg_edge": 2.5,
"barrel_edge": 2.0556,
"hard_hit_edge": 2.45,
"exit_velocity_edge": 1.84,
"sweet_spot_edge": -0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "622761",
"player_name": "Jorge Mateo",
"offense_factor": 1.0036,
"quality_score": 0.0479,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "622761",
"espn_id": 33832,
"player_name": "Jorge Mateo",
"team": "ATL",
"role": "batter",
"espn_rank": 174,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 174,
"gp_value": 33.0,
"gp_rank": 290,
"ab_value": 64.0,
"ab_rank": 346,
"r_value": 17.0,
"r_rank": 185,
"h_value": 20.0,
"h_rank": 285,
"avg_value": 0.3125,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 6.0,
"rbi_rank": 343,
"tb_value": 29.0,
"tb_rank": 1607,
"bb_value": 4.0,
"bb_rank": 360,
"so_value": 21.0,
"so_rank": 290,
"sb_value": 6.0,
"sb_rank": 54,
"obp_value": 0.3529411,
"obp_rank": "-",
"slg_value": 0.453125,
"slg_rank": "-",
"ops_value": 0.8060661,
"ops_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 64.0,
"k_percent": 32.8,
"bb_percent": 6.3,
"woba": 0.352,
"xwoba": 0.309,
"xba": 0.258,
"xslg": 0.401,
"sweet_spot_percent": 41.0,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 9.8,
"whiff_percent": 31.4,
"swing_percent": 53.3
},
"components": {
"expected_quality": 0.3238,
"regression_edge": -1.2286,
"xwoba_edge": 0.1143,
"xba_edge": 0.6,
"xslg_edge": 0.3929,
"barrel_edge": 0.7222,
"hard_hit_edge": 0.6643,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 1.2833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "642086",
"player_name": "Dominic Smith",
"offense_factor": 1.0411,
"quality_score": 0.5484,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "642086",
"espn_id": 33218,
"player_name": "Dominic Smith",
"team": "ATL",
"role": "batter",
"espn_rank": 140,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 140,
"gp_value": 43.0,
"gp_rank": 207,
"ab_value": 111.0,
"ab_rank": 245,
"r_value": 17.0,
"r_rank": 185,
"h_value": 36.0,
"h_rank": 166,
"avg_value": 0.3243243,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 24.0,
"rbi_rank": 99,
"tb_value": 57.0,
"tb_rank": 854,
"bb_value": 4.0,
"bb_rank": 360,
"so_value": 19.0,
"so_rank": 316,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3474576,
"obp_rank": "-",
"slg_value": 0.5135135,
"slg_rank": "-",
"ops_value": 0.8609711,
"ops_rank": null,
"war_value": 0.68,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 111.0,
"k_percent": 16.0,
"bb_percent": 3.4,
"woba": 0.374,
"xwoba": 0.365,
"xba": 0.306,
"xslg": 0.503,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.9,
"launch_angle_avg": 16.5,
"whiff_percent": 21.3,
"swing_percent": 55.2
},
"components": {
"expected_quality": 1.3057,
"regression_edge": -0.2571,
"xwoba_edge": 1.7143,
"xba_edge": 1.9714,
"xslg_edge": 1.85,
"barrel_edge": 0.5444,
"hard_hit_edge": 0.45,
"exit_velocity_edge": 0.44,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "506702",
"player_name": "Sandy León",
"offense_factor": 0.939,
"quality_score": -0.8128,
"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": 438,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 438,
"gp_value": 9.0,
"gp_rank": 449,
"ab_value": 20.0,
"ab_rank": 450,
"r_value": 0.0,
"r_rank": 495,
"h_value": 2.0,
"h_rank": 465,
"avg_value": 0.1,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 450,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 0.0,
"rbi_rank": 477,
"tb_value": 2.0,
"tb_rank": 2393,
"bb_value": 0.0,
"bb_rank": 484,
"so_value": 6.0,
"so_rank": 441,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.1,
"obp_rank": "-",
"slg_value": 0.1,
"slg_rank": "-",
"ops_value": 0.2,
"ops_rank": null,
"war_value": -0.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 30.0,
"bb_percent": 0.0,
"woba": 0.09,
"xwoba": 0.13,
"xba": 0.132,
"xslg": 0.168,
"sweet_spot_percent": 21.4,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 14.3,
"exit_velocity_avg": 82.2,
"launch_angle_avg": 23.1,
"whiff_percent": 24.4,
"swing_percent": 59.2
},
"components": {
"expected_quality": -2.2863,
"regression_edge": 1.1429,
"xwoba_edge": -2.5,
"xba_edge": -2.5,
"xslg_edge": -2.5,
"barrel_edge": -1.5667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": -1.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 ATL | True | 14 | 0.4762 | 0.8640 | 0.9595 | 1.0533 | 0.9378 | 0.9422 | negative_pitcher_regression | 0.2790 | 0.2410 | 29.90 | 5.80 | 29.40 | 7.30 | 31.30 | |
| Home BOS | True | 158 | 0.4072 | 0.4560 | 0.9654 | 1.0141 | 0.9726 | 0.9605 | neutral | 0.2370 | 0.2260 | 27.90 | 6.40 | 26 | 6.60 | 36.30 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away ATL | True | None | 101 | 87.64 | 2282 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1148 | |
| Home BOS | True | None | 82 | 92.75 | 2236 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1717 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9842 |
| home_runs_vs_away_pitcher | 0.9650 |
| home_pitcher_quality_edge | -0.0690 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "801139",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 114.0,
"k_percent": 27.9,
"bb_percent": 6.4,
"woba": 0.226,
"xwoba": 0.237,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 36.3,
"avg_best_speed": 76.5257,
"avg_hyper_speed": 93.7221,
"whiff_percent": 26.0,
"swing_percent": 53.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.3959,
"command_and_miss": 0.4957,
"regression_edge": -0.3143,
"xwoba_edge": 2.0571,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.0143,
"bb_edge": 0.75,
"pitch_design_score": 0.1717
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "801139",
"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": 92.75371407790132,
"release_spin_rate": 2236.3055033515184,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.75371407790132,
"release_spin_rate": 2236.3055033515184,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7537,
"release_spin_rate": 2236.3055,
"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.1717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2264,
"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.4072,
"sample_weight": 0.456,
"run_prevention_factor": 0.9654,
"strikeout_factor": 1.0141,
"walk_factor": 0.9726,
"homer_factor": 0.9605,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "801139",
"espn_id": 4966140,
"player_name": "Payton Tolle",
"team": "BOS",
"role": "pitcher",
"espn_rank": 158,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 158,
"gp_value": 6.0,
"gp_rank": 418,
"gs_value": 6.0,
"gs_rank": 137,
"qs_value": 4.0,
"qs_rank": 48,
"era_value": 2.4545,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 36.2,
"ip_rank": 139,
"h_value": 21.0,
"h_rank": 235,
"er_value": 10.0,
"er_rank": 238,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 39.0,
"k_rank": 115,
"k_per_9_value": 9.572727,
"k_per_9_rank": 22,
"whip_value": 0.8181,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_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": 29.9,
"bb_percent": 5.8,
"woba": 0.241,
"xwoba": 0.279,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 31.3,
"avg_best_speed": 75.7922,
"avg_hyper_speed": 93.0762,
"whiff_percent": 29.4,
"swing_percent": 50.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.8119,
"command_and_miss": 0.8243,
"regression_edge": -1.0857,
"xwoba_edge": 0.8571,
"barrel_edge": 0.0,
"hard_hit_edge": 1.0286,
"whiff_edge": 0.5,
"bb_edge": 0.9,
"pitch_design_score": -0.1148
},
"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.1148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8198,
"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.4762,
"sample_weight": 0.864,
"run_prevention_factor": 0.9595,
"strikeout_factor": 1.0533,
"walk_factor": 0.9378,
"homer_factor": 0.9422,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "519242",
"espn_id": 30948,
"player_name": "Chris Sale",
"team": "ATL",
"role": "pitcher",
"espn_rank": 14,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 14,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 10.0,
"gs_rank": 70,
"qs_value": 9.0,
"qs_rank": 1,
"era_value": 1.887,
"era_rank": 5.0,
"w_value": 7.0,
"w_rank": 3,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 62.0,
"ip_rank": 30,
"h_value": 40.0,
"h_rank": 114,
"er_value": 13.0,
"er_rank": 175,
"hr_value": 6.0,
"hr_rank": 78,
"bb_value": 14.0,
"bb_rank": 146,
"k_value": 72.0,
"k_rank": 9,
"k_per_9_value": 10.451613,
"k_per_9_rank": 8,
"whip_value": 0.8709,
"whip_rank": 4.0,
"war_value": 2.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9842,
"home_runs_vs_away_pitcher": 0.965,
"home_pitcher_quality_edge": -0.069
},
"score_before": {
"away_runs": 1.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 0.9842,
"home_runs": 0.965,
"home_win_probability": 0.4971
},
"reason": "Baseball Savant xwOBA, barrel, hard-hit, sweet-spot, whiff, K%, and BB% adjusted starter run prevention"
}| Team | Last-10 W-L | Win % | R/G | RA/G | Run Diff | Streak | Offense | Defense |
|---|---|---|---|---|---|---|---|---|
| Away ATL | 11-41 | 0.212 | 1.30 | 3 | -84 | cold | strong | |
| Home BOS | 11-42 | 0.208 | 1.10 | 3.20 | -108 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away ATL | 37-19 | 0.661 | 95 | 1.696 | True |
| Home BOS | 23-31 | 0.426 | -9 | -0.167 | True |
| Signal | - | - | -1.863 | -2.215 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target ATL | - | - | 2 | - | - | - | - |
| Game target BOS | - | - | 1 | - | - | - | - |
| Player finalized ATL | 66 | 16 | 9 | 1 | 8 | 6 | 14 |
| Player finalized BOS | 68 | 15 | 9 | 1 | 7 | 8 | 16 |
| Player model fractional ATL | 66.09 | 16.47 | 9.71 | 2.31 | 8.90 | 6.18 | 14.67 |
| Player model fractional BOS | 68.15 | 16.00 | 7.91 | 1.91 | 7.81 | 6.32 | 15.82 |
| Simulation box ATL | 32 | 5 | 4 | 1 | 4 | 2 | 8 |
| Simulation box BOS | 30 | 3 | 0 | 0 | 0 | 3 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away ATL | Starter | Chris Sale | 6.20 | 0 | 6 | 2 | 1 | 2.37 | 0.98 | True |
| Away ATL | Middle Reliever | Raisel Iglesias | 1 | 0 | 0 | 0 | 2 | 3.54 | 1.32 | True |
| Away ATL | Middle Reliever | Robert Suarez | 1 | 0 | 0 | 0 | 0 | 2.79 | 1.03 | True |
| Away ATL | Middle Reliever | Dylan Lee | 0.10 | 0 | 0 | 1 | 0 | 3.38 | 1.17 | True |
| Home BOS | Starter | Payton Tolle | 6 | 3 | 6 | 4 | 1 | 3.35 | 1.06 | True |
| Home BOS | Middle Reliever | Aroldis Chapman | 1 | 0 | 0 | 0 | 0 | 2.54 | 1.13 | True |
| Home BOS | Middle Reliever | Garrett Whitlock | 1 | 0 | 1 | 0 | 0 | 3.65 | 1.13 | True |
| Home BOS | Middle Reliever | Justin Slaten | 1 | 1 | 1 | 1 | 1 | 4.81 | 1.35 | True |
| Home BOS | Middle Reliever | Greg Weissert | 0 | 0 | 0 | 0 | 0 | 3.02 | 1.18 | True |
| Home BOS | Middle Reliever | Jovani Morán | 0 | 0 | 0 | 0 | 0 | 4.02 | 1.14 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | ATL | pitcher | Starter | Chris Sale | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 2.0000 | boost | better |
| away | ATL | batter | 2B | Ozzie Albies | better | 10 | 6 | 4 | 7 | 3 | predicted_RBI | 1.6100 | boost | better |
| home | BOS | batter | LF | Jarren Duran | worse | 11 | 2 | 9 | 3 | 8 | predicted_AB | -1.5800 | deboost | worse |
| home | BOS | batter | 2B | Nick Sogard | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.4710 | boost | worse |
| away | ATL | batter | RF | Ronald Acuña Jr. | better | 9 | 5 | 4 | 5 | 4 | predicted_AB | -1.2700 | deboost | worse |
| away | ATL | batter | C | Sandy León | worse | 8 | 2 | 6 | 1 | 7 | predicted_SO | 1.2500 | boost | worse |
| home | BOS | batter | C | Carlos Narváez | worse | 11 | 0 | 11 | 1 | 10 | predicted_AB | -1.1620 | deboost | worse |
| home | BOS | batter | RF | Wilyer Abreu | worse | 9 | 0 | 9 | 1 | 8 | predicted_H | -1.0400 | deboost | worse |
| home | BOS | batter | 1B | Willson Contreras | worse | 11 | 1 | 10 | 2 | 9 | predicted_H | -1.0400 | deboost | worse |
| home | BOS | batter | SS | Isiah Kiner-Falefa | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.0320 | boost | better |
| away | ATL | batter | 1B | Matt Olson | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -1.0000 | deboost | better |
| away | ATL | pitcher | Middle Reliever | Raisel Iglesias | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| away | ATL | pitcher | Middle Reliever | Dylan Lee | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | BOS | pitcher | Starter | Payton Tolle | better | 3 | 1 | 2 | 3 | 0 | predicted_ER | -1.0000 | deboost | better |
| home | BOS | pitcher | Middle Reliever | Justin Slaten | worse | 3 | 2 | 1 | 0 | 3 | predicted_ER | 1.0000 | boost | worse |
| home | BOS | batter | CF | Ceddanne Rafaela | worse | 11 | 3 | 8 | 2 | 9 | predicted_H | -0.9800 | deboost | worse |
| away | ATL | batter | CF | Michael Harris II | worse | 11 | 4 | 7 | 3 | 8 | predicted_H | -0.9500 | deboost | worse |
| away | ATL | batter | 3B | Austin Riley | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -0.9300 | deboost | worse |
| away | ATL | batter | DH | Dominic Smith | worse | 11 | 5 | 6 | 4 | 7 | predicted_HR | 0.8900 | boost | better |
| away | ATL | batter | SS | Jorge Mateo | worse | 10 | 2 | 8 | 1 | 9 | predicted_R | -0.8680 | deboost | worse |
| home | BOS | batter | DH | Andruw Monasterio | worse | 10 | 2 | 8 | 3 | 7 | predicted_BB | 0.7250 | boost | better |
| away | ATL | batter | LF | Mauricio Dubón | better | 9 | 4 | 5 | 5 | 4 | predicted_SO | -0.6570 | deboost | better |
| home | BOS | batter | 3B | Caleb Durbin | worse | 11 | 0 | 11 | 1 | 10 | predicted_H | -0.6100 | deboost | worse |
| home | BOS | pitcher | Middle Reliever | Greg Weissert | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1000 | deboost | worse |
| home | BOS | pitcher | Middle Reliever | Jovani Morán | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1000 | deboost | worse |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Chris Sale |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4762 |
| ESPN Rank | 14 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1148 |
| 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 | 2 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 1.8871 |
| Season WHIP | 0.8710 |
| Role Avg IP | 6.2000 |
| Recent Avg IP | 6.6000 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"opponent": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"edges": {
"quality_edge": 0.5327,
"offense_edge": 0.1555,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.3126,
"opponent_defense_weakness": -0.0758,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.037,
"run_prevention": 0.9168,
"strikeout": 1.0286
},
"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": 29.9,
"bb_percent": 5.8,
"woba": 0.241,
"xwoba": 0.279,
"sweet_spot_percent": 34.0,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 31.3,
"avg_best_speed": 75.7922,
"avg_hyper_speed": 93.0762,
"whiff_percent": 29.4,
"swing_percent": 50.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.8119,
"command_and_miss": 0.8243,
"regression_edge": -1.0857,
"xwoba_edge": 0.8571,
"barrel_edge": 0.0,
"hard_hit_edge": 1.0286,
"whiff_edge": 0.5,
"bb_edge": 0.9,
"pitch_design_score": -0.1148
},
"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.1148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8198,
"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.4762,
"sample_weight": 0.864,
"run_prevention_factor": 0.9595,
"strikeout_factor": 1.0533,
"walk_factor": 0.9378,
"homer_factor": 0.9422,
"woba_minus_xwoba": -0.038,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "519242",
"espn_id": 30948,
"player_name": "Chris Sale",
"team": "ATL",
"role": "pitcher",
"espn_rank": 14,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 14,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 10.0,
"gs_rank": 70,
"qs_value": 9.0,
"qs_rank": 1,
"era_value": 1.887,
"era_rank": 5.0,
"w_value": 7.0,
"w_rank": 3,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 62.0,
"ip_rank": 30,
"h_value": 40.0,
"h_rank": 114,
"er_value": 13.0,
"er_rank": 175,
"hr_value": 6.0,
"hr_rank": 78,
"bb_value": 14.0,
"bb_rank": 146,
"k_value": 72.0,
"k_rank": 9,
"k_per_9_value": 10.451613,
"k_per_9_rank": 8,
"whip_value": 0.8709,
"whip_rank": 4.0,
"war_value": 2.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.965,
"adjusted": 1
},
"predicted_H": {
"original": 4.0,
"factor": 0.965,
"adjusted": 4
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9463,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9501,
"adjusted": 0
},
"predicted_SO": {
"original": 8.0,
"factor": 1.0461,
"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": 62.0,
"ER": 13,
"H": 40,
"BB": 14,
"SO": 72,
"HR": 6,
"ERA": 1.8870967741935485,
"WHIP": 0.8709677419354839,
"K9": 10.451612903225806,
"HR9": 0.8709677419354839,
"games_pitched": 10,
"quality_starts": 9,
"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-20T00: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.1148,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8198,
"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": "519242",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 6.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 33.0,
"ER": 4.0,
"R": 6.0,
"H": 18.0,
"BB": 7.0,
"SO": 43.0,
"HR": 1.0,
"BF": 126.0,
"Pitches": 500.0
},
"per_game": {
"IP": 6.2,
"ER": 0.8,
"R": 1.2,
"H": 3.6,
"BB": 1.4,
"SO": 8.6,
"HR": 0.2,
"BF": 25.2,
"Pitches": 100.0
},
"rates": {
"ERA": 1.0909,
"WHIP": 0.7576,
"ER_per_IP": 0.12121,
"H_per_IP": 0.54545,
"BB_per_IP": 0.21212,
"SO_per_IP": 1.30303,
"HR_per_IP": 0.0303
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 62.0,
"ER": 13.0,
"R": 15.0,
"H": 40.0,
"BB": 14.0,
"SO": 72.0,
"HR": 6.0,
"BF": 241.0,
"Pitches": 942.0
},
"per_game": {
"IP": 6.1,
"ER": 1.3,
"R": 1.5,
"H": 4.0,
"BB": 1.4,
"SO": 7.2,
"HR": 0.6,
"BF": 24.1,
"Pitches": 94.2
},
"rates": {
"ERA": 1.8871,
"WHIP": 0.871,
"ER_per_IP": 0.20968,
"H_per_IP": 0.64516,
"BB_per_IP": 0.22581,
"SO_per_IP": 1.16129,
"HR_per_IP": 0.09677
}
},
"season": {
"games": 10,
"totals": {
"IP": 62.0,
"ER": 13.0,
"R": 15.0,
"H": 40.0,
"BB": 14.0,
"SO": 72.0,
"HR": 6.0,
"BF": 241.0,
"Pitches": 942.0
},
"per_game": {
"IP": 6.1,
"ER": 1.3,
"R": 1.5,
"H": 4.0,
"BB": 1.4,
"SO": 7.2,
"HR": 0.6,
"BF": 24.1,
"Pitches": 94.2
},
"rates": {
"ERA": 1.8871,
"WHIP": 0.871,
"ER_per_IP": 0.20968,
"H_per_IP": 0.64516,
"BB_per_IP": 0.22581,
"SO_per_IP": 1.16129,
"HR_per_IP": 0.09677
}
}
},
"weighted_prediction": {
"predicted_IP": 6.2,
"predicted_ER": 1.732,
"predicted_H": 4.645,
"predicted_BB": 1.764,
"predicted_SO": 7.503,
"predicted_HR": 0.547,
"predicted_ERA": 2.3731,
"predicted_WHIP": 0.9755
}
}{
"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": 6.2,
"form": 6.2,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.732,
"final": 0.8819,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 4.645,
"final": 3.3468,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.764,
"final": 1.389,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 7.503,
"final": 5.7837,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.547,
"final": 0.2785,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.3731,
"final": 2.3731,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9755,
"final": 0.9755,
"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.6083 |
| ESPN Rank | 91 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1424 |
| Avg Velo | 92.2311 |
| Avg Spin | 2194.3166 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 1.0800 |
| Season WHIP | 0.9000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"opponent": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"edges": {
"quality_edge": 0.5327,
"offense_edge": 0.1555,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.3126,
"opponent_defense_weakness": -0.0758,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.037,
"run_prevention": 0.9168,
"strikeout": 1.0286
},
"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": 56.0,
"k_percent": 31.7,
"bb_percent": 4.8,
"woba": 0.223,
"xwoba": 0.22,
"sweet_spot_percent": 25.0,
"barrel_batted_rate": 2.5,
"hard_hit_percent": 32.5,
"avg_best_speed": 78.3352,
"avg_hyper_speed": 92.746,
"whiff_percent": 36.6,
"swing_percent": 56.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.7516,
"command_and_miss": 1.35,
"regression_edge": 0.0857,
"xwoba_edge": 2.5,
"barrel_edge": 1.0667,
"hard_hit_edge": 0.8571,
"whiff_edge": 1.5286,
"bb_edge": 1.15,
"pitch_design_score": 0.1424
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "628452",
"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": 92.2310998141865,
"release_spin_rate": 2194.316556137361,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.2310998141865,
"release_spin_rate": 2194.316556137361,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2311,
"release_spin_rate": 2194.3166,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1424,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0174,
"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.6083,
"sample_weight": 0.45,
"run_prevention_factor": 0.9483,
"strikeout_factor": 1.0509,
"walk_factor": 0.9586,
"homer_factor": 0.9124,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "628452",
"espn_id": 33618,
"player_name": "Raisel Iglesias",
"team": "ATL",
"role": "pitcher",
"espn_rank": 91,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 91,
"gp_value": 16.0,
"gp_rank": 170,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.08,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 9.0,
"sv_rank": 11,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 16.2,
"ip_rank": 361,
"h_value": 12.0,
"h_rank": 389,
"er_value": 2.0,
"er_rank": 525,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 3.0,
"bb_rank": 479,
"k_value": 20.0,
"k_rank": 286,
"k_per_9_value": 10.8,
"k_per_9_rank": 21,
"whip_value": 0.9,
"whip_rank": null,
"war_value": 0.8,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9767,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9767,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9814,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9606,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0229,
"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": 3,
"SO": 13,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.2,
"K9": 11.7,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "628452",
"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": 92.2310998141865,
"release_spin_rate": 2194.316556137361,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.2310998141865,
"release_spin_rate": 2194.316556137361,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2311,
"release_spin_rate": 2194.3166,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.1424,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0174,
"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.287,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3967,
"prior_weight": 0.6033
},
"role": "pitcher",
"player_id": "628452",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 16,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 76.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 4.4,
"Pitches": 15.2
},
"rates": {
"ERA": 3.6,
"WHIP": 1.6,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.4,
"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": 3.0,
"SO": 13.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.9,
"BB": 0.3,
"SO": 1.3,
"HR": 0.0,
"BF": 4.1,
"Pitches": 14.7
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 0.9,
"BB_per_IP": 0.3,
"SO_per_IP": 1.3,
"HR_per_IP": 0.0
}
},
"season": {
"games": 16,
"totals": {
"IP": 16.2,
"ER": 2.0,
"R": 2.0,
"H": 12.0,
"BB": 3.0,
"SO": 20.0,
"HR": 0.0,
"BF": 63.0,
"Pitches": 234.0
},
"per_game": {
"IP": 1.0,
"ER": 0.125,
"R": 0.125,
"H": 0.75,
"BB": 0.1875,
"SO": 1.25,
"HR": 0.0,
"BF": 3.9375,
"Pitches": 14.625
},
"rates": {
"ERA": 1.08,
"WHIP": 0.9,
"ER_per_IP": 0.12,
"H_per_IP": 0.72,
"BB_per_IP": 0.18,
"SO_per_IP": 1.2,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.393,
"predicted_H": 0.965,
"predicted_BB": 0.35,
"predicted_SO": 1.024,
"predicted_HR": 0.079,
"predicted_ERA": 3.537,
"predicted_WHIP": 1.3152
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6049,
"form_weight": 0.3951,
"form_reliability": 0.3967,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.287,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3967,
"prior_weight": 0.6033
},
"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.1553,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.965,
"final": 0.3813,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.35,
"final": 1.3481,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.024,
"final": 1.0095,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.079,
"final": 0.0312,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.537,
"final": 3.537,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3152,
"final": 1.3152,
"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.2884 |
| ESPN Rank | 55 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.6429 |
| Avg Spin | 2231.6586 |
| 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.7714 |
| Season WHIP | 0.8571 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"opponent": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"edges": {
"quality_edge": 0.5327,
"offense_edge": 0.1555,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.3126,
"opponent_defense_weakness": -0.0758,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.037,
"run_prevention": 0.9168,
"strikeout": 1.0286
},
"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": 85.0,
"k_percent": 23.6,
"bb_percent": 5.6,
"woba": 0.207,
"xwoba": 0.272,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 29.0,
"avg_best_speed": 71.8412,
"avg_hyper_speed": 92.434,
"whiff_percent": 26.9,
"swing_percent": 52.4
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.2948,
"command_and_miss": 0.3043,
"regression_edge": -1.8571,
"xwoba_edge": 1.0571,
"barrel_edge": 0.8889,
"hard_hit_edge": 1.3571,
"whiff_edge": 0.1429,
"bb_edge": 0.95,
"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": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 95.64289997213126,
"release_spin_rate": 2231.6586233953212,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95.64289997213126,
"release_spin_rate": 2231.6586233953212,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6429,
"release_spin_rate": 2231.6586,
"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.2884,
"sample_weight": 0.45,
"run_prevention_factor": 0.9755,
"strikeout_factor": 1.0051,
"walk_factor": 0.9658,
"homer_factor": 0.9293,
"woba_minus_xwoba": -0.065,
"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": 55,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 55,
"gp_value": 23.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 0.7714,
"era_rank": null,
"w_value": 4.0,
"w_rank": 36,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 4.0,
"sv_rank": 25,
"hld_value": 7.0,
"hld_rank": 29,
"ip_value": 23.1,
"ip_rank": 242,
"h_value": 15.0,
"h_rank": 330,
"er_value": 2.0,
"er_rank": 525,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 5.0,
"bb_rank": 411,
"k_value": 21.0,
"k_rank": 268,
"k_per_9_value": 8.1,
"k_per_9_rank": 29,
"whip_value": 0.8571,
"whip_rank": null,
"war_value": 1.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.989,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.989,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9846,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9682,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0023,
"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": 3,
"SO": 8,
"HR": 1,
"ERA": 0.84375,
"WHIP": 0.84375,
"K9": 6.75,
"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-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "663158",
"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": 95.64289997213126,
"release_spin_rate": 2231.6586233953212,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 95.64289997213126,
"release_spin_rate": 2231.6586233953212,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6429,
"release_spin_rate": 2231.6586,
"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.602,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4793,
"prior_weight": 0.5207
},
"role": "pitcher",
"player_id": "663158",
"report_date": "20260528_A",
"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": 2.0,
"BB": 1.0,
"SO": 3.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 0.6,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.6
},
"rates": {
"ERA": 1.6875,
"WHIP": 0.5625,
"ER_per_IP": 0.1875,
"H_per_IP": 0.375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.5625,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 3.0,
"SO": 8.0,
"HR": 1.0,
"BF": 41.0,
"Pitches": 178.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.3,
"SO": 0.8,
"HR": 0.1,
"BF": 4.1,
"Pitches": 17.8
},
"rates": {
"ERA": 0.8438,
"WHIP": 0.8438,
"ER_per_IP": 0.09375,
"H_per_IP": 0.5625,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.75,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 23,
"totals": {
"IP": 23.1,
"ER": 2.0,
"R": 2.0,
"H": 15.0,
"BB": 5.0,
"SO": 21.0,
"HR": 1.0,
"BF": 89.0,
"Pitches": 355.0
},
"per_game": {
"IP": 1.0,
"ER": 0.087,
"R": 0.087,
"H": 0.6522,
"BB": 0.2174,
"SO": 0.913,
"HR": 0.0435,
"BF": 3.8696,
"Pitches": 15.4348
},
"rates": {
"ERA": 0.7714,
"WHIP": 0.8571,
"ER_per_IP": 0.08571,
"H_per_IP": 0.64286,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.9,
"HR_per_IP": 0.04286
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.31,
"predicted_H": 0.728,
"predicted_BB": 0.3,
"predicted_SO": 0.825,
"predicted_HR": 0.129,
"predicted_ERA": 2.7878,
"predicted_WHIP": 1.0283
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.57,
"form_weight": 0.43,
"form_reliability": 0.4793,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.602,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4793,
"prior_weight": 0.5207
},
"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.1333,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.728,
"final": 0.313,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.3,
"final": 0.129,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.825,
"final": 0.3548,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.129,
"final": 0.0555,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7878,
"final": 2.7878,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0283,
"final": 1.0283,
"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.5829 |
| ESPN Rank | 71 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1867 |
| Avg Velo | 86.3538 |
| Avg Spin | 2138.9607 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 1.4026 |
| Season WHIP | 0.6234 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"opponent": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"edges": {
"quality_edge": 0.5327,
"offense_edge": 0.1555,
"opponent_offense_edge": -0.1579,
"defense_strength": 0.3126,
"opponent_defense_weakness": -0.0758,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.037,
"run_prevention": 0.9168,
"strikeout": 1.0286
},
"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": 88.0,
"k_percent": 32.3,
"bb_percent": 3.2,
"woba": 0.192,
"xwoba": 0.209,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 5.0,
"hard_hit_percent": 31.7,
"avg_best_speed": 76.0855,
"avg_hyper_speed": 92.7745,
"whiff_percent": 37.9,
"swing_percent": 54.9
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.7146,
"command_and_miss": 1.5336,
"regression_edge": -0.4857,
"xwoba_edge": 2.5,
"barrel_edge": 0.5111,
"hard_hit_edge": 0.9714,
"whiff_edge": 1.7143,
"bb_edge": 1.55,
"pitch_design_score": -0.1867
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669276",
"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": 86.35376393717394,
"release_spin_rate": 2138.9607495837495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 86.35376393717394,
"release_spin_rate": 2138.9607495837495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3538,
"release_spin_rate": 2138.9607,
"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.1867,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3335,
"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.5829,
"sample_weight": 0.45,
"run_prevention_factor": 0.9505,
"strikeout_factor": 1.0558,
"walk_factor": 0.9442,
"homer_factor": 0.9304,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669276",
"espn_id": 41455,
"player_name": "Dylan Lee",
"team": "ATL",
"role": "pitcher",
"espn_rank": 71,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 71,
"gp_value": 26.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.4025,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 9.0,
"hld_rank": 12,
"ip_value": 25.2,
"ip_rank": 196,
"h_value": 13.0,
"h_rank": 374,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 3.0,
"bb_rank": 479,
"k_value": 30.0,
"k_rank": 164,
"k_per_9_value": 10.51948,
"k_per_9_rank": 22,
"whip_value": 0.6233,
"whip_rank": null,
"war_value": 0.96,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9777,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9749,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9687,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0251,
"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": 1,
"SO": 12,
"HR": 1,
"ERA": 1.8,
"WHIP": 0.8,
"K9": 10.8,
"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-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "669276",
"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": 86.35376393717394,
"release_spin_rate": 2138.9607495837495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 86.35376393717394,
"release_spin_rate": 2138.9607495837495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3538,
"release_spin_rate": 2138.9607,
"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.1867,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.3335,
"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.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5031,
"prior_weight": 0.4969
},
"role": "pitcher",
"player_id": "669276",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 3.0,
"H": 6.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.6,
"H": 1.2,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.0
},
"rates": {
"ERA": 3.6,
"WHIP": 1.4,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.2,
"SO_per_IP": 1.0,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 3.0,
"H": 7.0,
"BB": 1.0,
"SO": 12.0,
"HR": 1.0,
"BF": 38.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.3,
"H": 0.7,
"BB": 0.1,
"SO": 1.2,
"HR": 0.1,
"BF": 3.8,
"Pitches": 15.0
},
"rates": {
"ERA": 1.8,
"WHIP": 0.8,
"ER_per_IP": 0.2,
"H_per_IP": 0.7,
"BB_per_IP": 0.1,
"SO_per_IP": 1.2,
"HR_per_IP": 0.1
}
},
"season": {
"games": 26,
"totals": {
"IP": 25.2,
"ER": 4.0,
"R": 5.0,
"H": 13.0,
"BB": 3.0,
"SO": 30.0,
"HR": 1.0,
"BF": 93.0,
"Pitches": 375.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1538,
"R": 0.1923,
"H": 0.5,
"BB": 0.1154,
"SO": 1.1538,
"HR": 0.0385,
"BF": 3.5769,
"Pitches": 14.4231
},
"rates": {
"ERA": 1.4026,
"WHIP": 0.6234,
"ER_per_IP": 0.15584,
"H_per_IP": 0.50649,
"BB_per_IP": 0.11688,
"SO_per_IP": 1.16883,
"HR_per_IP": 0.03896
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.251,
"predicted_H": 0.612,
"predicted_BB": 0.173,
"predicted_SO": 0.685,
"predicted_HR": 0.088,
"predicted_ERA": 3.3805,
"predicted_WHIP": 1.1725
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5031,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5031,
"prior_weight": 0.4969
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.251,
"final": 0.1105,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.612,
"final": 0.8293,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.173,
"final": 0.0761,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.685,
"final": 0.8614,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.088,
"final": 0.0387,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3805,
"final": 3.3805,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1725,
"final": 1.1725,
"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.227 | 1.000 | 0.000 | Hitting_2B | 0.227 | 0.000 | 0.773 | 1.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 4.270 | 3.000 | 9.000 | Hitting_AB | 3.832 | 3.000 | -0.832 | 0.000 |
| predicted_AVG | 0.219 | 0.333 | 0.222 | Hitting_AVG | 0.231 | 0.000 | 0.102 | 0.333 |
| predicted_BB | 0.659 | 1.000 | 2.000 | Hitting_BB | 0.659 | 1.000 | 0.341 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_H | 0.930 | 1.000 | 2.000 | Hitting_H | 0.886 | 0.000 | 0.114 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.319 | 0.500 | 0.364 | Hitting_OBP | 0.349 | 0.250 | 0.151 | 0.250 |
| predicted_R | 0.524 | 1.000 | 1.000 | Hitting_R | 0.524 | 0.000 | 0.476 | 1.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.297 | 0.000 | -0.297 | 0.000 |
| predicted_SLG | 0.339 | 0.667 | 0.222 | Hitting_SLG | 0.344 | 0.000 | 0.323 | 0.667 |
| 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 | better |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 5 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_2B: 0.2270 -> 1.0000 (boost 0.7730, better) |
| Biggest Deboost | predicted_AB: 4.2700 -> 3.0000 (deboost -1.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 | 9 | 7 | 2 | 6 | 3 | predicted_AB: 4.2700 -> 9.1454 (boost 4.8754, better) | predicted_SLG: 0.3390 -> 0.3236 (deboost -0.0154, 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 | 3 | 1 | 4 | 0 | predicted_R: 1.0666 -> 1.1342 (boost 0.0676, better) | predicted_SO: 2.4209 -> 2.3672 (deboost -0.0537, 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: 1.5819 -> 2.0000 (boost 0.4181, better) | predicted_2B: 0.4602 -> 0.0000 (deboost -0.4602, worse) | AB rounded to 9 (raw=9.15), rates preserved: AVG=0.217 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1342 -> 1.0000 (deboost -0.1342, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3328 -> 0.3640 (boost 0.0312, better) | predicted_SLG: 0.3252 -> 0.2220 (deboost -0.1032, 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: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2220 -> 0.3252 (boost 0.1032, better) | predicted_OBP: 0.3640 -> 0.3328 (deboost -0.0312, 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.227,
"predicted_3B": 0.022,
"predicted_AB": 4.27,
"predicted_AVG": 0.219,
"predicted_BB": 0.659,
"predicted_H": 0.93,
"predicted_HR": 0.1,
"predicted_OBP": 0.319,
"predicted_R": 0.524,
"predicted_RBI": 0.37,
"predicted_SLG": 0.339,
"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.4602,
"predicted_3B": 0.044,
"predicted_AB": 9.1454,
"predicted_AVG": 0.214,
"predicted_BB": 1.5475,
"predicted_H": 1.9236,
"predicted_HBP": 0.196,
"predicted_HR": 0.1405,
"predicted_OBP": 0.3237,
"predicted_R": 1.0666,
"predicted_RBI": 0.7471,
"predicted_SLG": 0.3236,
"predicted_SO": 2.4209
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.227,
"after": 0.4602,
"delta": 0.2332,
"percent_delta": 1.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.044,
"delta": 0.022,
"percent_delta": 1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.27,
"after": 9.1454,
"delta": 4.8754,
"percent_delta": 1.1418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.214,
"delta": -0.005,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.659,
"after": 1.5475,
"delta": 0.8885,
"percent_delta": 1.3483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.9236,
"delta": 0.9936,
"percent_delta": 1.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1405,
"delta": 0.0405,
"percent_delta": 0.405,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3237,
"delta": 0.0047,
"percent_delta": 0.0147,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 1.0666,
"delta": 0.5426,
"percent_delta": 1.0355,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.7471,
"delta": 0.3771,
"percent_delta": 1.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3236,
"delta": -0.0154,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.4209,
"delta": 1.4209,
"percent_delta": 1.4209,
"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": 4.27,
"after": 9.1454,
"delta": 4.8754,
"percent_delta": 1.1418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.339,
"after": 0.3236,
"delta": -0.0154,
"percent_delta": -0.0454,
"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": 3,
"season": 42
}
},
{
"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.4602,
"predicted_3B": 0.044,
"predicted_AB": 9.1454,
"predicted_AVG": 0.2174,
"predicted_BB": 1.5819,
"predicted_H": 1.9886,
"predicted_HBP": 0.196,
"predicted_HR": 0.1458,
"predicted_OBP": 0.3328,
"predicted_R": 1.1342,
"predicted_RBI": 0.7945,
"predicted_SLG": 0.3252,
"predicted_SO": 2.3672
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4602,
"after": 0.4602,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.044,
"after": 0.044,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.1454,
"after": 9.1454,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2174,
"delta": 0.0034,
"percent_delta": 0.0159,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.5475,
"after": 1.5819,
"delta": 0.0344,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9236,
"after": 1.9886,
"delta": 0.065,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.196,
"after": 0.196,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1405,
"after": 0.1458,
"delta": 0.0053,
"percent_delta": 0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3237,
"after": 0.3328,
"delta": 0.0091,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0666,
"after": 1.1342,
"delta": 0.0676,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7471,
"after": 0.7945,
"delta": 0.0474,
"percent_delta": 0.0634,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3236,
"after": 0.3252,
"delta": 0.0016,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.4209,
"after": 2.3672,
"delta": -0.0537,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 3,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.0666,
"after": 1.1342,
"delta": 0.0676,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.4209,
"after": 2.3672,
"delta": -0.0537,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.15), rates preserved: AVG=0.217 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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.4602,
"after": 0.0,
"delta": -0.4602,
"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": 9.1454,
"after": 9.0,
"delta": -0.1454,
"percent_delta": -0.0159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.5819,
"after": 2.0,
"delta": 0.4181,
"percent_delta": 0.2643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9886,
"after": 2.0,
"delta": 0.0114,
"percent_delta": 0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1458,
"after": 0.0,
"delta": -0.1458,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7945,
"after": 1.0,
"delta": 0.2055,
"percent_delta": 0.2587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3672,
"after": 2.0,
"delta": -0.3672,
"percent_delta": -0.1551,
"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": 1.5819,
"after": 2.0,
"delta": 0.4181,
"percent_delta": 0.2643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4602,
"after": 0.0,
"delta": -0.4602,
"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": 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": 9.0,
"after": 9.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.1342,
"after": 1.0,
"delta": -0.1342,
"percent_delta": -0.1183,
"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.1342,
"after": 1.0,
"delta": -0.1342,
"percent_delta": -0.1183,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"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.2174,
"after": 0.222,
"delta": 0.0046,
"percent_delta": 0.0212,
"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.3328,
"after": 0.364,
"delta": 0.0312,
"percent_delta": 0.0938,
"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.3252,
"after": 0.222,
"delta": -0.1032,
"percent_delta": -0.3173,
"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.3328,
"after": 0.364,
"delta": 0.0312,
"percent_delta": 0.0938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3252,
"after": 0.222,
"delta": -0.1032,
"percent_delta": -0.3173,
"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": 9.0,
"after": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"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": 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_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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2174,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3328,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3252,
"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.222,
"after": 0.2174,
"delta": -0.0046,
"percent_delta": -0.0205,
"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.364,
"after": 0.3328,
"delta": -0.0312,
"percent_delta": -0.0856,
"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.222,
"after": 0.3252,
"delta": 0.1032,
"percent_delta": 0.4649,
"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.222,
"after": 0.3252,
"delta": 0.1032,
"percent_delta": 0.4649,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3328,
"delta": -0.0312,
"percent_delta": -0.0856,
"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.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"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": 4.27,
"after": 3.0,
"delta": -1.27,
"percent_delta": -0.2974,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2174,
"delta": -0.0016,
"percent_delta": -0.0073,
"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.93,
"after": 1.0,
"delta": 0.07,
"percent_delta": 0.0753,
"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.319,
"after": 0.3328,
"delta": 0.0138,
"percent_delta": 0.0433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 1.0,
"delta": 0.476,
"percent_delta": 0.9084,
"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.339,
"after": 0.3252,
"delta": -0.0138,
"percent_delta": -0.0407,
"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": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 5,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.227,
"after": 1.0,
"delta": 0.773,
"percent_delta": 3.4053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.27,
"after": 3.0,
"delta": -1.27,
"percent_delta": -0.2974,
"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.227 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 4.270 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.659 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.524 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.339 | - |
| 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.460 | 0.233 |
| predicted_3B | 0.044 | 0.022 |
| predicted_AB | 9.145 | 4.875 |
| predicted_AVG | 0.214 | -0.005 |
| predicted_BB | 1.548 | 0.889 |
| predicted_H | 1.924 | 0.994 |
| predicted_HBP | 0.196 | - |
| predicted_HR | 0.141 | 0.041 |
| predicted_OBP | 0.324 | 0.005 |
| predicted_R | 1.067 | 0.543 |
| predicted_RBI | 0.747 | 0.377 |
| predicted_SLG | 0.324 | -0.015 |
| predicted_SO | 2.421 | 1.421 |
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.460 | 0.000 |
| predicted_3B | 0.044 | 0.000 |
| predicted_AB | 9.145 | 0.000 |
| predicted_AVG | 0.217 | 0.003 |
| predicted_BB | 1.582 | 0.034 |
| predicted_H | 1.989 | 0.065 |
| predicted_HBP | 0.196 | 0.000 |
| predicted_HR | 0.146 | 0.005 |
| predicted_OBP | 0.333 | 0.009 |
| predicted_R | 1.134 | 0.068 |
| predicted_RBI | 0.794 | 0.047 |
| predicted_SLG | 0.325 | 0.002 |
| predicted_SO | 2.367 | -0.054 |
AB rounded to 9 (raw=9.15), rates preserved: AVG=0.217 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.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 | 9.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.460 |
| predicted_3B | 0.000 | -0.044 |
| predicted_AB | 9.000 | -0.145 |
| predicted_AVG | 0.222 | 0.005 |
| predicted_BB | 2.000 | 0.418 |
| predicted_H | 2.000 | 0.011 |
| predicted_HR | 0.000 | -0.146 |
| predicted_OBP | 0.364 | 0.031 |
| predicted_R | 1.000 | -0.134 |
| predicted_RBI | 1.000 | 0.206 |
| predicted_SLG | 0.222 | -0.103 |
| predicted_SO | 2.000 | -0.367 |
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 | -6.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 | 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 | - | 17.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 4.000 | 6.000 | 0.0588 | 0.2381 | 0.0588 | 0.0588 | 0.0000 | 0.0588 | 0.2353 | 0.3529 |
| last_10 | 0.20 | 3 | - | 40.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 6.000 | 15.000 | 0.1250 | 0.2391 | 0.1250 | 0.1250 | 0.0000 | 0.1250 | 0.1500 | 0.3750 |
| season | 0.60 | 42 | - | 709.000 | 164.000 | 42.000 | 4.000 | 10.000 | 55.000 | 97.000 | 122.000 | 185.000 | 0.2313 | 0.3486 | 0.3441 | 0.2313 | 0.0141 | 0.0776 | 0.1721 | 0.2609 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7570 |
| predicted_3B | 0.0720 |
| predicted_AB | 15.3490 |
| predicted_AVG | 0.2077 |
| predicted_BB | 2.6780 |
| predicted_H | 3.1880 |
| predicted_HBP | 0.1960 |
| predicted_HR | 0.1920 |
| predicted_OBP | 0.3297 |
| predicted_R | 1.7570 |
| predicted_RBI | 1.2270 |
| predicted_SLG | 0.3039 |
| predicted_SO | 4.2290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2270 | 0.7570 | 0.4602 | model_form_blend |
| predicted_3B | 0.0220 | 0.0720 | 0.0440 | model_form_blend |
| predicted_AB | 4.2700 | 15.3490 | 9.1454 | model_form_blend |
| predicted_AVG | 0.2190 | 0.2077 | 0.2140 | model_form_blend |
| predicted_BB | 0.6590 | 2.6780 | 1.5475 | model_form_blend |
| predicted_H | 0.9300 | 3.1880 | 1.9236 | model_form_blend |
| predicted_HBP | - | 0.1960 | 0.1960 | form_only |
| predicted_HR | 0.1000 | 0.1920 | 0.1405 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3297 | 0.3237 | model_form_blend |
| predicted_R | 0.5240 | 1.7570 | 1.0666 | model_form_blend |
| predicted_RBI | 0.3700 | 1.2270 | 0.7471 | model_form_blend |
| predicted_SLG | 0.3390 | 0.3039 | 0.3236 | model_form_blend |
| predicted_SO | 1.0000 | 4.2290 | 2.4209 | 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 | 3 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.231 |
| 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.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 660670 |
| playerID | 660670 |
| playerName | Ronald Acuña Jr. |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.321 |
| sl_xwoba | 0.366 |
| sl_xba | 0.254 |
| sl_xslg | 0.46 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 12.1 |
| sl_hard_hit_percent | 44.0 |
| sl_exit_velocity_avg | 89.4 |
| sl_launch_angle_avg | 17.4 |
| sl_whiff_percent | 27.1 |
| sl_swing_percent | 45.7 |
| at_bat_number | 59.0 |
| ab_pitcher | 813349.0 |
| ab_pitcher_name | Early, Connelly |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 644433.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 6.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 6.0 |
| ab_event | field_out |
| ab_event_description | Ronald Acuña Jr. lines out sharply to right fielder Wilyer Abreu. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 100.7 |
| ab_launch_angle_last | 20.0 |
| ab_hit_distance_last | 334.0 |
| ab_estimated_ba_last | 0.429 |
| ab_estimated_woba_last | 0.555 |
| ab_estimated_slg_last | 0.905 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 6.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 89.275 |
| ab_release_spin_rate_avg | 1775.75 |
| ab_effective_speed_avg | 90.275 |
| ab_launch_speed_avg | 86.75 |
| ab_launch_angle_avg | 37.0 |
| ab_delta_run_exp_avg | -0.067 |
| ab_delta_home_win_exp_avg | 0.001 |
| ab_delta_pitcher_run_exp_avg | 0.067 |
| ab_bat_speed_avg | 76.125 |
| ab_swing_length_avg | 7.675 |
| ab_launch_speed_max | 100.7 |
| ab_hit_distance_sc_max | 334.0 |
| ab_release_speed_max | 95.1 |
| ab_release_spin_rate_max | 2405.0 |
| ab_release_speed_min | 82.7 |
| ab_release_spin_rate_min | 1174.0 |
| ab_delta_run_exp_sum | -0.268 |
| ab_delta_home_win_exp_sum | 0.004 |
| ab_delta_pitcher_run_exp_sum | 0.268 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.155 | 1.000 | 0.000 | Hitting_2B | 0.155 | 0.000 | 0.845 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.160 | 4.000 | 9.000 | Hitting_AB | 3.899 | 3.000 | 0.101 | 1.000 |
| predicted_AVG | 0.235 | 0.250 | 0.222 | Hitting_AVG | 0.269 | 0.333 | -0.019 | -0.083 |
| predicted_BB | 0.345 | 0.000 | 1.000 | Hitting_BB | 0.345 | 1.000 | -0.345 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.059 | 0.000 | -0.059 | 0.000 |
| predicted_H | 0.980 | 1.000 | 2.000 | Hitting_H | 1.050 | 1.000 | -0.050 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.312 | 0.250 | 0.300 | Hitting_OBP | 0.331 | 0.500 | -0.081 | -0.250 |
| predicted_R | 0.634 | 1.000 | 1.000 | Hitting_R | 0.634 | 0.000 | 0.366 | 1.000 |
| predicted_RBI | 0.390 | 2.000 | 1.000 | Hitting_RBI | 0.504 | 0.000 | 1.496 | 2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.362 | 0.500 | 0.222 | Hitting_SLG | 0.419 | 0.333 | 0.081 | 0.167 |
| predicted_SO | 0.538 | 0.000 | 1.000 | Hitting_SO | 0.538 | 0.000 | -0.538 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.3900 -> 2.0000 (boost 1.6100, better) |
| Biggest Deboost | predicted_SO: 0.5380 -> 0.0000 (deboost -0.5380, 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.1600 -> 9.0318 (boost 4.8718, 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.2711 -> 1.3517 (boost 0.0806, 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_BB: 0.9131 -> 1.0000 (boost 0.0869, better) | predicted_H: 2.3678 -> 2.0000 (deboost -0.3678, worse) | AB rounded to 9 (raw=9.03), rates preserved: AVG=0.262 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3517 -> 1.0000 (deboost -0.3517, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3870 -> 0.2220 (deboost -0.1650, worse) | 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_2B: 0.0000 -> 1.0000 (boost 1.0000, better) | 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.3870 (boost 0.1650, 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.155,
"predicted_3B": 0.0,
"predicted_AB": 4.16,
"predicted_AVG": 0.235,
"predicted_BB": 0.345,
"predicted_H": 0.98,
"predicted_HR": 0.1,
"predicted_OBP": 0.312,
"predicted_R": 0.634,
"predicted_RBI": 0.39,
"predicted_SLG": 0.362,
"predicted_SO": 0.538
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3123,
"predicted_3B": 0.0009,
"predicted_AB": 9.0318,
"predicted_AVG": 0.246,
"predicted_BB": 0.8933,
"predicted_H": 2.2904,
"predicted_HBP": 0.176,
"predicted_HR": 0.2613,
"predicted_OBP": 0.3204,
"predicted_R": 1.2711,
"predicted_RBI": 0.9449,
"predicted_SLG": 0.3724,
"predicted_SO": 1.1782
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.155,
"after": 0.3123,
"delta": 0.1573,
"percent_delta": 1.0148,
"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.16,
"after": 9.0318,
"delta": 4.8718,
"percent_delta": 1.1711,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.246,
"delta": 0.011,
"percent_delta": 0.0468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.345,
"after": 0.8933,
"delta": 0.5483,
"percent_delta": 1.5893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.2904,
"delta": 1.3104,
"percent_delta": 1.3371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2613,
"delta": 0.1613,
"percent_delta": 1.613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3204,
"delta": 0.0084,
"percent_delta": 0.0269,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 1.2711,
"delta": 0.6371,
"percent_delta": 1.0049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.9449,
"delta": 0.5549,
"percent_delta": 1.4228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.3724,
"delta": 0.0104,
"percent_delta": 0.0287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 1.1782,
"delta": 0.6402,
"percent_delta": 1.19,
"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.16,
"after": 9.0318,
"delta": 4.8718,
"percent_delta": 1.1711,
"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": 3,
"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.3123,
"predicted_3B": 0.0009,
"predicted_AB": 9.0318,
"predicted_AVG": 0.2622,
"predicted_BB": 0.9131,
"predicted_H": 2.3678,
"predicted_HBP": 0.176,
"predicted_HR": 0.2712,
"predicted_OBP": 0.3299,
"predicted_R": 1.3517,
"predicted_RBI": 1.0048,
"predicted_SLG": 0.387,
"predicted_SO": 1.152
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3123,
"after": 0.3123,
"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": 9.0318,
"after": 9.0318,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2622,
"delta": 0.0162,
"percent_delta": 0.0659,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8933,
"after": 0.9131,
"delta": 0.0198,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2904,
"after": 2.3678,
"delta": 0.0774,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.2613,
"after": 0.2712,
"delta": 0.0099,
"percent_delta": 0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3204,
"after": 0.3299,
"delta": 0.0095,
"percent_delta": 0.0297,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2711,
"after": 1.3517,
"delta": 0.0806,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9449,
"after": 1.0048,
"delta": 0.0599,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3724,
"after": 0.387,
"delta": 0.0146,
"percent_delta": 0.0392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1782,
"after": 1.152,
"delta": -0.0262,
"percent_delta": -0.0222,
"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.2711,
"after": 1.3517,
"delta": 0.0806,
"percent_delta": 0.0634,
"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=9.03), rates preserved: AVG=0.262 HR/AB=0.030",
"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.3123,
"after": 0.0,
"delta": -0.3123,
"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": 9.0318,
"after": 9.0,
"delta": -0.0318,
"percent_delta": -0.0035,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9131,
"after": 1.0,
"delta": 0.0869,
"percent_delta": 0.0952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3678,
"after": 2.0,
"delta": -0.3678,
"percent_delta": -0.1553,
"direction": "deboost",
"projection_effect": "worse",
"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.2712,
"after": 0.0,
"delta": -0.2712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0048,
"after": 1.0,
"delta": -0.0048,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.152,
"after": 1.0,
"delta": -0.152,
"percent_delta": -0.1319,
"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.9131,
"after": 1.0,
"delta": 0.0869,
"percent_delta": 0.0952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.3678,
"after": 2.0,
"delta": -0.3678,
"percent_delta": -0.1553,
"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": 1.3517,
"after": 1.0,
"delta": -0.3517,
"percent_delta": -0.2602,
"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.3517,
"after": 1.0,
"delta": -0.3517,
"percent_delta": -0.2602,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2622,
"after": 0.222,
"delta": -0.0402,
"percent_delta": -0.1533,
"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.3299,
"after": 0.3,
"delta": -0.0299,
"percent_delta": -0.0906,
"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.387,
"after": 0.222,
"delta": -0.165,
"percent_delta": -0.4264,
"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.387,
"after": 0.222,
"delta": -0.165,
"percent_delta": -0.4264,
"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": 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": 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": 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": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2622,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3299,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.387,
"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.222,
"after": 0.2622,
"delta": 0.0402,
"percent_delta": 0.1809,
"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.3299,
"delta": 0.0299,
"percent_delta": 0.0997,
"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.222,
"after": 0.387,
"delta": 0.165,
"percent_delta": 0.7433,
"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.222,
"after": 0.387,
"delta": 0.165,
"percent_delta": 0.7433,
"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": 1.0,
"delta": 0.845,
"percent_delta": 5.4516,
"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.16,
"after": 4.0,
"delta": -0.16,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2622,
"delta": 0.0272,
"percent_delta": 0.1157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.345,
"after": 0.0,
"delta": -0.345,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3299,
"delta": 0.0179,
"percent_delta": 0.0574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.634,
"after": 1.0,
"delta": 0.366,
"percent_delta": 0.5773,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 2.0,
"delta": 1.61,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.362,
"after": 0.387,
"delta": 0.025,
"percent_delta": 0.0691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.39,
"after": 2.0,
"delta": 1.61,
"percent_delta": 4.1282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.538,
"after": 0.0,
"delta": -0.538,
"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.155 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.160 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.345 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.634 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.362 | - |
| predicted_SO | 0.538 | - |
Final model 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.157 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.032 | 4.872 |
| predicted_AVG | 0.246 | 0.011 |
| predicted_BB | 0.893 | 0.548 |
| predicted_H | 2.290 | 1.310 |
| predicted_HBP | 0.176 | - |
| predicted_HR | 0.261 | 0.161 |
| predicted_OBP | 0.320 | 0.008 |
| predicted_R | 1.271 | 0.637 |
| predicted_RBI | 0.945 | 0.555 |
| predicted_SLG | 0.372 | 0.010 |
| predicted_SO | 1.178 | 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.312 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.032 | 0.000 |
| predicted_AVG | 0.262 | 0.016 |
| predicted_BB | 0.913 | 0.020 |
| predicted_H | 2.368 | 0.077 |
| predicted_HBP | 0.176 | 0.000 |
| predicted_HR | 0.271 | 0.010 |
| predicted_OBP | 0.330 | 0.010 |
| predicted_R | 1.352 | 0.081 |
| predicted_RBI | 1.005 | 0.060 |
| predicted_SLG | 0.387 | 0.015 |
| predicted_SO | 1.152 | -0.026 |
AB rounded to 9 (raw=9.03), rates preserved: AVG=0.262 HR/AB=0.030
| 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.312 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.032 |
| predicted_AVG | 0.222 | -0.040 |
| predicted_BB | 1.000 | 0.087 |
| predicted_H | 2.000 | -0.368 |
| predicted_HR | 0.000 | -0.271 |
| predicted_OBP | 0.300 | -0.030 |
| predicted_R | 1.000 | -0.352 |
| predicted_RBI | 1.000 | -0.005 |
| predicted_SLG | 0.222 | -0.165 |
| predicted_SO | 1.000 | -0.152 |
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 | -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 | 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 | 2 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.2353 | 0.3810 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.2353 | 0.0588 |
| last_10 | 0.20 | 3 | - | 41.000 | 7.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 5.000 | 0.1707 | 0.2444 | 0.1707 | 0.1707 | 0.0000 | 0.0000 | 0.0976 | 0.1220 |
| season | 0.60 | 56 | - | 928.000 | 250.000 | 37.000 | 0.000 | 34.000 | 120.000 | 151.000 | 82.000 | 128.000 | 0.2694 | 0.3308 | 0.4192 | 0.2694 | 0.0366 | 0.1293 | 0.0884 | 0.1379 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5110 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.1870 |
| predicted_AVG | 0.2598 |
| predicted_BB | 1.5860 |
| predicted_H | 3.9460 |
| predicted_HBP | 0.1760 |
| predicted_HR | 0.4650 |
| predicted_OBP | 0.3311 |
| predicted_R | 2.0760 |
| predicted_RBI | 1.6460 |
| predicted_SLG | 0.3856 |
| predicted_SO | 1.9870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1550 | 0.5110 | 0.3123 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.1600 | 15.1870 | 9.0318 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2598 | 0.2460 | model_form_blend |
| predicted_BB | 0.3450 | 1.5860 | 0.8933 | model_form_blend |
| predicted_H | 0.9800 | 3.9460 | 2.2904 | model_form_blend |
| predicted_HBP | - | 0.1760 | 0.1760 | form_only |
| predicted_HR | 0.1000 | 0.4650 | 0.2613 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3311 | 0.3204 | model_form_blend |
| predicted_R | 0.6340 | 2.0760 | 1.2711 | model_form_blend |
| predicted_RBI | 0.3900 | 1.6460 | 0.9449 | model_form_blend |
| predicted_SLG | 0.3620 | 0.3856 | 0.3724 | model_form_blend |
| predicted_SO | 0.5380 | 1.9870 | 1.1782 | 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| 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 | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 1 |
| 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 | 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 645277 |
| playerID | 645277 |
| playerName | Ozzie Albies |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 12.2 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.329 |
| sl_xwoba | 0.298 |
| sl_xba | 0.247 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 33.5 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 26.6 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 54.7 |
| at_bat_number | 67.0 |
| ab_pitcher | 670245.0 |
| ab_pitcher_name | Watson, Ryan |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 643289.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 7.0 |
| ab_event | walk |
| ab_event_description | Ozzie Albies walks. Mauricio Dubón to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 103.5 |
| ab_launch_angle_last | 21.0 |
| ab_hit_distance_last | 281.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 7.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 7.0 |
| ab_pitch_count | 8.0 |
| ab_release_speed_avg | 87.05 |
| ab_release_spin_rate_avg | 2100.375 |
| ab_effective_speed_avg | 88.1125 |
| ab_launch_speed_avg | 103.5 |
| ab_launch_angle_avg | 21.0 |
| ab_delta_run_exp_avg | 0.0427499999999999 |
| ab_delta_home_win_exp_avg | -0.0005 |
| ab_delta_pitcher_run_exp_avg | -0.0427499999999999 |
| ab_bat_speed_avg | 62.2 |
| ab_swing_length_avg | 7.133333333333333 |
| ab_launch_speed_max | 103.5 |
| ab_hit_distance_sc_max | 281.0 |
| ab_release_speed_max | 94.6 |
| ab_release_spin_rate_max | 2373.0 |
| ab_release_speed_min | 81.7 |
| ab_release_spin_rate_min | 1875.0 |
| ab_delta_run_exp_sum | 0.3419999999999999 |
| ab_delta_home_win_exp_sum | -0.004 |
| ab_delta_pitcher_run_exp_sum | -0.3419999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.252 | 0.000 | 1.000 | Hitting_2B | 0.252 | 0.000 | -0.252 | 0.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 4.200 | 4.000 | 9.000 | Hitting_AB | 3.829 | 4.000 | 0.171 | 0.000 |
| predicted_AVG | 0.241 | 0.250 | 0.222 | Hitting_AVG | 0.261 | 0.250 | -0.011 | 0.000 |
| predicted_BB | 0.267 | 0.000 | 1.000 | Hitting_BB | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_H | 1.010 | 1.000 | 2.000 | Hitting_H | 1.000 | 1.000 | 0.000 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | -0.057 | 0.000 |
| predicted_OBP | 0.310 | 0.250 | 0.300 | Hitting_OBP | 0.316 | 0.250 | -0.066 | 0.000 |
| predicted_R | 0.429 | 1.000 | 1.000 | Hitting_R | 0.429 | 0.000 | 0.571 | 1.000 |
| predicted_RBI | 0.470 | 1.000 | 1.000 | Hitting_RBI | 0.571 | 0.000 | 0.429 | 1.000 |
| predicted_SLG | 0.374 | 0.250 | 0.333 | Hitting_SLG | 0.394 | 0.250 | -0.144 | 0.000 |
| predicted_SO | 0.657 | 0.000 | 1.000 | Hitting_SO | 0.657 | 0.000 | -0.657 | 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_R: 0.4290 -> 1.0000 (boost 0.5710, better) |
| Biggest Deboost | predicted_SO: 0.6570 -> 0.0000 (deboost -0.6570, 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: 4.2000 -> 8.5750 (boost 4.3750, 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.1691 -> 2.2424 (boost 0.0733, better) | - | 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_2B: 0.4818 -> 1.0000 (boost 0.5182, better) | predicted_SO: 1.3195 -> 1.0000 (deboost -0.3195, better) | AB rounded to 9 (raw=8.57), rates preserved: AVG=0.262 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.3826 -> 0.3330 (deboost -0.0496, 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 -> 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.3330 -> 0.3826 (boost 0.0496, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "643289",
"player_name": "Mauricio Dubón",
"position": "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.252,
"predicted_3B": 0.043,
"predicted_AB": 4.2,
"predicted_AVG": 0.241,
"predicted_BB": 0.267,
"predicted_H": 1.01,
"predicted_HR": 0.08,
"predicted_OBP": 0.31,
"predicted_R": 0.429,
"predicted_RBI": 0.47,
"predicted_SLG": 0.374,
"predicted_SO": 0.657
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4818,
"predicted_3B": 0.0809,
"predicted_AB": 8.575,
"predicted_AVG": 0.2484,
"predicted_BB": 0.5901,
"predicted_H": 2.1691,
"predicted_HBP": 0.118,
"predicted_HR": 0.1267,
"predicted_OBP": 0.311,
"predicted_R": 0.9031,
"predicted_RBI": 1.0388,
"predicted_SLG": 0.3723,
"predicted_SO": 1.3495
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.252,
"after": 0.4818,
"delta": 0.2298,
"percent_delta": 0.9119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0809,
"delta": 0.0379,
"percent_delta": 0.8814,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 8.575,
"delta": 4.375,
"percent_delta": 1.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2484,
"delta": 0.0074,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.5901,
"delta": 0.3231,
"percent_delta": 1.2101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.1691,
"delta": 1.1591,
"percent_delta": 1.1476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1267,
"delta": 0.0467,
"percent_delta": 0.5838,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.311,
"delta": 0.001,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.9031,
"delta": 0.4741,
"percent_delta": 1.1051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0388,
"delta": 0.5688,
"percent_delta": 1.2102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3723,
"delta": -0.0017,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.657,
"after": 1.3495,
"delta": 0.6925,
"percent_delta": 1.054,
"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": 4.2,
"after": 8.575,
"delta": 4.375,
"percent_delta": 1.0417,
"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": 3,
"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.4818,
"predicted_3B": 0.0809,
"predicted_AB": 8.575,
"predicted_AVG": 0.2615,
"predicted_BB": 0.6032,
"predicted_H": 2.2424,
"predicted_HBP": 0.118,
"predicted_HR": 0.1315,
"predicted_OBP": 0.31,
"predicted_R": 0.9604,
"predicted_RBI": 1.1047,
"predicted_SLG": 0.3826,
"predicted_SO": 1.3195
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4818,
"after": 0.4818,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0809,
"after": 0.0809,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.575,
"after": 8.575,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2484,
"after": 0.2615,
"delta": 0.0131,
"percent_delta": 0.0527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5901,
"after": 0.6032,
"delta": 0.0131,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1691,
"after": 2.2424,
"delta": 0.0733,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.118,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1267,
"after": 0.1315,
"delta": 0.0048,
"percent_delta": 0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.31,
"delta": -0.001,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9031,
"after": 0.9604,
"delta": 0.0573,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0388,
"after": 1.1047,
"delta": 0.0659,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3723,
"after": 0.3826,
"delta": 0.0103,
"percent_delta": 0.0277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3495,
"after": 1.3195,
"delta": -0.03,
"percent_delta": -0.0222,
"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.1691,
"after": 2.2424,
"delta": 0.0733,
"percent_delta": 0.0338,
"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.57), rates preserved: AVG=0.262 HR/AB=0.015",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4818,
"after": 1.0,
"delta": 0.5182,
"percent_delta": 1.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0809,
"after": 0.0,
"delta": -0.0809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.575,
"after": 9.0,
"delta": 0.425,
"percent_delta": 0.0496,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6032,
"after": 1.0,
"delta": 0.3968,
"percent_delta": 0.6578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2424,
"after": 2.0,
"delta": -0.2424,
"percent_delta": -0.1081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1315,
"after": 0.0,
"delta": -0.1315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1047,
"after": 1.0,
"delta": -0.1047,
"percent_delta": -0.0948,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3195,
"after": 1.0,
"delta": -0.3195,
"percent_delta": -0.2421,
"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_2B",
"before": 0.4818,
"after": 1.0,
"delta": 0.5182,
"percent_delta": 1.0756,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3195,
"after": 1.0,
"delta": -0.3195,
"percent_delta": -0.2421,
"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": 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": 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.9604,
"after": 1.0,
"delta": 0.0396,
"percent_delta": 0.0412,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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": 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.2615,
"after": 0.222,
"delta": -0.0395,
"percent_delta": -0.1511,
"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.31,
"after": 0.3,
"delta": -0.01,
"percent_delta": -0.0323,
"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.3826,
"after": 0.333,
"delta": -0.0496,
"percent_delta": -0.1296,
"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.3826,
"after": 0.333,
"delta": -0.0496,
"percent_delta": -0.1296,
"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": 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": 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": 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": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"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.2615,
"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.31,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3826,
"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.222,
"after": 0.2615,
"delta": 0.0395,
"percent_delta": 0.178,
"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.31,
"delta": 0.01,
"percent_delta": 0.0335,
"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.333,
"after": 0.3826,
"delta": 0.0496,
"percent_delta": 0.1488,
"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.333,
"after": 0.3826,
"delta": 0.0496,
"percent_delta": 0.1488,
"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.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 4.0,
"delta": -0.2,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.241,
"after": 0.2615,
"delta": 0.0205,
"percent_delta": 0.0851,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.0,
"delta": -0.267,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.31,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3826,
"delta": 0.0086,
"percent_delta": 0.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.657,
"after": 0.0,
"delta": -0.657,
"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_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.657,
"after": 0.0,
"delta": -0.657,
"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.252 | - |
| predicted_3B | 0.043 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.241 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 0.657 | - |
Final model 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.482 | 0.230 |
| predicted_3B | 0.081 | 0.038 |
| predicted_AB | 8.575 | 4.375 |
| predicted_AVG | 0.248 | 0.007 |
| predicted_BB | 0.590 | 0.323 |
| predicted_H | 2.169 | 1.159 |
| predicted_HBP | 0.118 | - |
| predicted_HR | 0.127 | 0.047 |
| predicted_OBP | 0.311 | 0.001 |
| predicted_R | 0.903 | 0.474 |
| predicted_RBI | 1.039 | 0.569 |
| predicted_SLG | 0.372 | -0.002 |
| predicted_SO | 1.349 | 0.692 |
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.482 | 0.000 |
| predicted_3B | 0.081 | 0.000 |
| predicted_AB | 8.575 | 0.000 |
| predicted_AVG | 0.262 | 0.013 |
| predicted_BB | 0.603 | 0.013 |
| predicted_H | 2.242 | 0.073 |
| predicted_HBP | 0.118 | 0.000 |
| predicted_HR | 0.132 | 0.005 |
| predicted_OBP | 0.310 | -0.001 |
| predicted_R | 0.960 | 0.057 |
| predicted_RBI | 1.105 | 0.066 |
| predicted_SLG | 0.383 | 0.010 |
| predicted_SO | 1.319 | -0.030 |
AB rounded to 9 (raw=8.57), rates preserved: AVG=0.262 HR/AB=0.015
| 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 | 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 | 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 | 1.000 | 0.518 |
| predicted_3B | 0.000 | -0.081 |
| predicted_AB | 9.000 | 0.425 |
| predicted_AVG | 0.222 | -0.040 |
| predicted_BB | 1.000 | 0.397 |
| predicted_H | 2.000 | -0.242 |
| predicted_HR | 0.000 | -0.132 |
| predicted_OBP | 0.300 | -0.010 |
| predicted_R | 1.000 | 0.040 |
| predicted_RBI | 1.000 | -0.105 |
| predicted_SLG | 0.333 | -0.050 |
| predicted_SO | 1.000 | -0.319 |
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 | -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 | 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 | 2 | - | 20.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.2500 | 0.2857 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.0500 | 0.0500 |
| last_10 | 0.20 | 3 | - | 40.000 | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 0.2250 | 0.3111 | 0.2250 | 0.2250 | 0.0000 | 0.0000 | 0.1250 | 0.1250 |
| season | 0.60 | 53 | - | 804.000 | 210.000 | 53.000 | 9.000 | 12.000 | 120.000 | 90.000 | 56.000 | 138.000 | 0.2612 | 0.3157 | 0.3943 | 0.2612 | 0.0149 | 0.1492 | 0.0697 | 0.1716 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7740 |
| predicted_3B | 0.1290 |
| predicted_AB | 14.1380 |
| predicted_AVG | 0.2577 |
| predicted_BB | 1.0010 |
| predicted_H | 3.6430 |
| predicted_HBP | 0.1180 |
| predicted_HR | 0.1860 |
| predicted_OBP | 0.3122 |
| predicted_R | 1.5060 |
| predicted_RBI | 1.7620 |
| predicted_SLG | 0.3702 |
| predicted_SO | 2.2300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2520 | 0.7740 | 0.4818 | model_form_blend |
| predicted_3B | 0.0430 | 0.1290 | 0.0809 | model_form_blend |
| predicted_AB | 4.2000 | 14.1380 | 8.5750 | model_form_blend |
| predicted_AVG | 0.2410 | 0.2577 | 0.2484 | model_form_blend |
| predicted_BB | 0.2670 | 1.0010 | 0.5901 | model_form_blend |
| predicted_H | 1.0100 | 3.6430 | 2.1691 | model_form_blend |
| predicted_HBP | - | 0.1180 | 0.1180 | form_only |
| predicted_HR | 0.0800 | 0.1860 | 0.1267 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3122 | 0.3110 | model_form_blend |
| predicted_R | 0.4290 | 1.5060 | 0.9031 | model_form_blend |
| predicted_RBI | 0.4700 | 1.7620 | 1.0388 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3702 | 0.3723 | model_form_blend |
| predicted_SO | 0.6570 | 2.2300 | 1.3495 | 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 | 210 |
| Season rows before report date | 210 |
| Report year | 2026 |
| Profile rows used | 210 |
| 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.261 |
| 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.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 | LF |
| gameID | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 643289 |
| playerID | 643289 |
| playerName | Mauricio Dubón |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 16.3 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.313 |
| sl_xwoba | 0.297 |
| sl_xba | 0.25 |
| sl_xslg | 0.368 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 28.3 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 50.8 |
| at_bat_number | 65.0 |
| ab_pitcher | 670245.0 |
| ab_pitcher_name | Watson, Ryan |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.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 | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 7.0 |
| ab_event | single |
| ab_event_description | Mauricio Dubón singles on a line drive to center fielder Ceddanne Rafaela. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 78.5 |
| ab_launch_angle_last | 18.0 |
| ab_hit_distance_last | 222.0 |
| ab_estimated_ba_last | 0.994 |
| ab_estimated_woba_last | 0.926 |
| ab_estimated_slg_last | 1.107 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 7.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 7.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 86.23333333333333 |
| ab_release_spin_rate_avg | 2032.6666666666667 |
| ab_effective_speed_avg | 87.13333333333333 |
| ab_launch_speed_avg | 78.5 |
| ab_launch_angle_avg | 18.0 |
| ab_delta_run_exp_avg | 0.1496666666666666 |
| ab_delta_home_win_exp_avg | -0.0013333333333333 |
| ab_delta_pitcher_run_exp_avg | -0.1496666666666666 |
| ab_bat_speed_avg | 64.6 |
| ab_swing_length_avg | 7.9 |
| ab_launch_speed_max | 78.5 |
| ab_hit_distance_sc_max | 222.0 |
| ab_release_speed_max | 88.6 |
| ab_release_spin_rate_max | 2096.0 |
| ab_release_speed_min | 84.9 |
| ab_release_spin_rate_min | 1942.0 |
| ab_delta_run_exp_sum | 0.449 |
| ab_delta_home_win_exp_sum | -0.004 |
| ab_delta_pitcher_run_exp_sum | -0.449 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.153 | 0.000 | 0.000 | Hitting_2B | 0.153 | 0.000 | -0.153 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 8.000 | Hitting_AB | 3.790 | 3.000 | 0.210 | 1.000 |
| predicted_AVG | 0.239 | 0.000 | 0.250 | Hitting_AVG | 0.227 | 0.000 | -0.227 | 0.000 |
| predicted_BB | 0.328 | 0.000 | 1.000 | Hitting_BB | 0.328 | 1.000 | -0.328 | -1.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.860 | 0.000 | -0.860 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.135 | 0.000 | -0.135 | 0.000 |
| predicted_OBP | 0.330 | 0.000 | 0.333 | Hitting_OBP | 0.301 | 0.250 | -0.301 | -0.250 |
| predicted_R | 0.537 | 0.000 | 1.000 | Hitting_R | 0.537 | 0.000 | -0.537 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.563 | 0.000 | -0.563 | 0.000 |
| predicted_SLG | 0.417 | 0.000 | 0.250 | Hitting_SLG | 0.384 | 0.000 | -0.384 | 0.000 |
| predicted_SO | 1.218 | 2.000 | 3.000 | Hitting_SO | 1.218 | 2.000 | 0.782 | 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: 1.2180 -> 2.0000 (boost 0.7820, 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 | 12 | 9 | 3 | 8 | 4 | predicted_AB: 3.8800 -> 8.3561 (boost 4.4761, better) | predicted_SLG: 0.4170 -> 0.3966 (deboost -0.0204, 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 | 3 | 3 | 4 | 2 | predicted_R: 1.1185 -> 1.1894 (boost 0.0709, better) | predicted_SO: 2.9822 -> 2.9160 (deboost -0.0662, 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_H: 1.8909 -> 2.0000 (boost 0.1091, better) | predicted_AB: 8.3561 -> 8.0000 (deboost -0.3561, worse) | AB rounded to 8 (raw=8.36), rates preserved: AVG=0.226 HR/AB=0.032 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1894 -> 1.0000 (deboost -0.1894, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3057 -> 0.3330 (boost 0.0273, better) | predicted_SLG: 0.3863 -> 0.2500 (deboost -0.1363, 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.3863 (boost 0.1363, better) | predicted_OBP: 0.3330 -> 0.3057 (deboost -0.0273, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663586",
"player_name": "Austin Riley",
"position": "3B",
"team": "ATL",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.153,
"predicted_3B": 0.017,
"predicted_AB": 3.88,
"predicted_AVG": 0.239,
"predicted_BB": 0.328,
"predicted_H": 0.93,
"predicted_HR": 0.13,
"predicted_OBP": 0.33,
"predicted_R": 0.537,
"predicted_RBI": 0.47,
"predicted_SLG": 0.417,
"predicted_SO": 1.218
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2964,
"predicted_3B": 0.1194,
"predicted_AB": 8.3561,
"predicted_AVG": 0.227,
"predicted_BB": 0.9355,
"predicted_H": 1.8291,
"predicted_HBP": 0.239,
"predicted_HR": 0.2575,
"predicted_OBP": 0.3195,
"predicted_R": 1.1185,
"predicted_RBI": 1.0303,
"predicted_SLG": 0.3966,
"predicted_SO": 2.9822
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.2964,
"delta": 0.1434,
"percent_delta": 0.9373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.1194,
"delta": 0.1024,
"percent_delta": 6.0235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 8.3561,
"delta": 4.4761,
"percent_delta": 1.1536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.227,
"delta": -0.012,
"percent_delta": -0.0502,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.9355,
"delta": 0.6075,
"percent_delta": 1.8521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 1.8291,
"delta": 0.8991,
"percent_delta": 0.9668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2575,
"delta": 0.1275,
"percent_delta": 0.9808,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3195,
"delta": -0.0105,
"percent_delta": -0.0318,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.537,
"after": 1.1185,
"delta": 0.5815,
"percent_delta": 1.0829,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0303,
"delta": 0.5603,
"percent_delta": 1.1921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3966,
"delta": -0.0204,
"percent_delta": -0.0489,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.218,
"after": 2.9822,
"delta": 1.7642,
"percent_delta": 1.4484,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 9,
"deboosted_metrics": 3,
"better_metrics": 8,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.88,
"after": 8.3561,
"delta": 4.4761,
"percent_delta": 1.1536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3966,
"delta": -0.0204,
"percent_delta": -0.0489,
"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": 3,
"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.2964,
"predicted_3B": 0.1194,
"predicted_AB": 8.3561,
"predicted_AVG": 0.2263,
"predicted_BB": 0.9563,
"predicted_H": 1.8909,
"predicted_HBP": 0.239,
"predicted_HR": 0.2672,
"predicted_OBP": 0.3057,
"predicted_R": 1.1894,
"predicted_RBI": 1.0956,
"predicted_SLG": 0.3863,
"predicted_SO": 2.916
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2964,
"after": 0.2964,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1194,
"after": 0.1194,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.3561,
"after": 8.3561,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2263,
"delta": -0.0007,
"percent_delta": -0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9355,
"after": 0.9563,
"delta": 0.0208,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8291,
"after": 1.8909,
"delta": 0.0618,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.239,
"after": 0.239,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2575,
"after": 0.2672,
"delta": 0.0097,
"percent_delta": 0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3195,
"after": 0.3057,
"delta": -0.0138,
"percent_delta": -0.0432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1185,
"after": 1.1894,
"delta": 0.0709,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0303,
"after": 1.0956,
"delta": 0.0653,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3966,
"after": 0.3863,
"delta": -0.0103,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.9822,
"after": 2.916,
"delta": -0.0662,
"percent_delta": -0.0222,
"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_R",
"before": 1.1185,
"after": 1.1894,
"delta": 0.0709,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.9822,
"after": 2.916,
"delta": -0.0662,
"percent_delta": -0.0222,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.36), rates preserved: AVG=0.226 HR/AB=0.032",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2964,
"after": 0.0,
"delta": -0.2964,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1194,
"after": 0.0,
"delta": -0.1194,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.3561,
"after": 8.0,
"delta": -0.3561,
"percent_delta": -0.0426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9563,
"after": 1.0,
"delta": 0.0437,
"percent_delta": 0.0457,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8909,
"after": 2.0,
"delta": 0.1091,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.239,
"after": 0.0,
"delta": -0.239,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2672,
"after": 0.0,
"delta": -0.2672,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0956,
"after": 1.0,
"delta": -0.0956,
"percent_delta": -0.0873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.916,
"after": 3.0,
"delta": 0.084,
"percent_delta": 0.0288,
"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_H",
"before": 1.8909,
"after": 2.0,
"delta": 0.1091,
"percent_delta": 0.0577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.3561,
"after": 8.0,
"delta": -0.3561,
"percent_delta": -0.0426,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1894,
"after": 1.0,
"delta": -0.1894,
"percent_delta": -0.1592,
"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.1894,
"after": 1.0,
"delta": -0.1894,
"percent_delta": -0.1592,
"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": 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.2263,
"after": 0.25,
"delta": 0.0237,
"percent_delta": 0.1047,
"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.3057,
"after": 0.333,
"delta": 0.0273,
"percent_delta": 0.0893,
"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.3863,
"after": 0.25,
"delta": -0.1363,
"percent_delta": -0.3528,
"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.3057,
"after": 0.333,
"delta": 0.0273,
"percent_delta": 0.0893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3863,
"after": 0.25,
"delta": -0.1363,
"percent_delta": -0.3528,
"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": 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": 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.2263,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3057,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3863,
"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.25,
"after": 0.2263,
"delta": -0.0237,
"percent_delta": -0.0948,
"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.3057,
"delta": -0.0273,
"percent_delta": -0.0819,
"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.3863,
"delta": 0.1363,
"percent_delta": 0.5451,
"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.25,
"after": 0.3863,
"delta": 0.1363,
"percent_delta": 0.5451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3057,
"delta": -0.0273,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.153,
"after": 0.0,
"delta": -0.153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0,
"delta": -0.017,
"percent_delta": -1.0,
"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.239,
"after": 0.2263,
"delta": -0.0127,
"percent_delta": -0.0531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.328,
"after": 0.0,
"delta": -0.328,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 0.0,
"delta": -0.93,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3057,
"delta": -0.0243,
"percent_delta": -0.0736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.537,
"after": 0.0,
"delta": -0.537,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.417,
"after": 0.3863,
"delta": -0.0307,
"percent_delta": -0.0736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.218,
"after": 2.0,
"delta": 0.782,
"percent_delta": 0.642,
"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.218,
"after": 2.0,
"delta": 0.782,
"percent_delta": 0.642,
"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.153 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.328 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.537 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.417 | - |
| predicted_SO | 1.218 | - |
Final model 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.296 | 0.143 |
| predicted_3B | 0.119 | 0.102 |
| predicted_AB | 8.356 | 4.476 |
| predicted_AVG | 0.227 | -0.012 |
| predicted_BB | 0.935 | 0.607 |
| predicted_H | 1.829 | 0.899 |
| predicted_HBP | 0.239 | - |
| predicted_HR | 0.258 | 0.128 |
| predicted_OBP | 0.320 | -0.011 |
| predicted_R | 1.119 | 0.582 |
| predicted_RBI | 1.030 | 0.560 |
| predicted_SLG | 0.397 | -0.020 |
| predicted_SO | 2.982 | 1.764 |
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.296 | 0.000 |
| predicted_3B | 0.119 | 0.000 |
| predicted_AB | 8.356 | 0.000 |
| predicted_AVG | 0.226 | -0.001 |
| predicted_BB | 0.956 | 0.021 |
| predicted_H | 1.891 | 0.062 |
| predicted_HBP | 0.239 | 0.000 |
| predicted_HR | 0.267 | 0.010 |
| predicted_OBP | 0.306 | -0.014 |
| predicted_R | 1.189 | 0.071 |
| predicted_RBI | 1.096 | 0.065 |
| predicted_SLG | 0.386 | -0.010 |
| predicted_SO | 2.916 | -0.066 |
AB rounded to 8 (raw=8.36), rates preserved: AVG=0.226 HR/AB=0.032
| 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 | 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 | 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.296 |
| predicted_3B | 0.000 | -0.119 |
| predicted_AB | 8.000 | -0.356 |
| predicted_AVG | 0.250 | 0.024 |
| predicted_BB | 1.000 | 0.044 |
| predicted_H | 2.000 | 0.109 |
| predicted_HR | 0.000 | -0.267 |
| predicted_OBP | 0.333 | 0.027 |
| predicted_R | 1.000 | -0.189 |
| predicted_RBI | 1.000 | -0.096 |
| predicted_SLG | 0.250 | -0.136 |
| predicted_SO | 3.000 | 0.084 |
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 | -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 | - | 15.000 | 1.000 | 0.000 | 1.000 | 0.000 | 0.000 | 1.000 | 5.000 | 10.000 | 0.0667 | 0.3000 | 0.2000 | 0.0667 | 0.0000 | 0.0000 | 0.3333 | 0.6667 |
| last_10 | 0.20 | 3 | - | 32.000 | 8.000 | 0.000 | 4.000 | 0.000 | 0.000 | 4.000 | 8.000 | 20.000 | 0.2500 | 0.4000 | 0.5000 | 0.2500 | 0.0000 | 0.0000 | 0.2500 | 0.6250 |
| season | 0.60 | 56 | - | 868.000 | 197.000 | 35.000 | 4.000 | 31.000 | 129.000 | 123.000 | 75.000 | 279.000 | 0.2270 | 0.3005 | 0.3836 | 0.2270 | 0.0357 | 0.1486 | 0.0864 | 0.3214 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4780 |
| predicted_3B | 0.2490 |
| predicted_AB | 14.0260 |
| predicted_AVG | 0.2117 |
| predicted_BB | 1.7050 |
| predicted_H | 2.9680 |
| predicted_HBP | 0.2390 |
| predicted_HR | 0.4190 |
| predicted_OBP | 0.3062 |
| predicted_R | 1.8550 |
| predicted_RBI | 1.7400 |
| predicted_SLG | 0.3708 |
| predicted_SO | 5.2170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1530 | 0.4780 | 0.2964 | model_form_blend |
| predicted_3B | 0.0170 | 0.2490 | 0.1194 | model_form_blend |
| predicted_AB | 3.8800 | 14.0260 | 8.3561 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2117 | 0.2270 | model_form_blend |
| predicted_BB | 0.3280 | 1.7050 | 0.9355 | model_form_blend |
| predicted_H | 0.9300 | 2.9680 | 1.8291 | model_form_blend |
| predicted_HBP | - | 0.2390 | 0.2390 | form_only |
| predicted_HR | 0.1300 | 0.4190 | 0.2575 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3062 | 0.3195 | model_form_blend |
| predicted_R | 0.5370 | 1.8550 | 1.1185 | model_form_blend |
| predicted_RBI | 0.4700 | 1.7400 | 1.0303 | model_form_blend |
| predicted_SLG | 0.4170 | 0.3708 | 0.3966 | model_form_blend |
| predicted_SO | 1.2180 | 5.2170 | 2.9822 | 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 | 229 |
| 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.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 | 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 | 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 663586 |
| playerID | 663586 |
| playerName | Austin Riley |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.306 |
| sl_xwoba | 0.313 |
| sl_xba | 0.227 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 31.2 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 46.1 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 18.1 |
| sl_whiff_percent | 32.8 |
| sl_swing_percent | 48.2 |
| at_bat_number | 68.0 |
| ab_pitcher | 670245.0 |
| ab_pitcher_name | Watson, Ryan |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 645277.0 |
| ab_on_2b_start | 643289.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 7.0 |
| ab_event | field_out |
| ab_event_description | Austin Riley flies out to center fielder Ceddanne Rafaela. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 88.7 |
| ab_launch_angle_last | 38.0 |
| ab_hit_distance_last | 330.0 |
| ab_estimated_ba_last | 0.014 |
| ab_estimated_woba_last | 0.022 |
| ab_estimated_slg_last | 0.04 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 7.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 7.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 91.6 |
| ab_release_spin_rate_avg | 2004.0 |
| ab_effective_speed_avg | 93.65 |
| ab_launch_speed_avg | 88.7 |
| ab_launch_angle_avg | 38.0 |
| ab_delta_run_exp_avg | -0.125 |
| ab_delta_home_win_exp_avg | 0.0025 |
| ab_delta_pitcher_run_exp_avg | 0.125 |
| ab_bat_speed_avg | 72.3 |
| ab_swing_length_avg | 7.2 |
| ab_launch_speed_max | 88.7 |
| ab_hit_distance_sc_max | 330.0 |
| ab_release_speed_max | 94.4 |
| ab_release_spin_rate_max | 2065.0 |
| ab_release_speed_min | 88.8 |
| ab_release_spin_rate_min | 1943.0 |
| ab_delta_run_exp_sum | -0.25 |
| ab_delta_home_win_exp_sum | 0.005 |
| ab_delta_pitcher_run_exp_sum | 0.25 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.331 | 0.000 | 1.000 | Hitting_2B | 0.331 | 0.000 | -0.331 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 9.000 | Hitting_AB | 3.884 | 3.000 | 0.116 | 1.000 |
| predicted_AVG | 0.223 | 0.250 | 0.222 | Hitting_AVG | 0.267 | 0.000 | -0.017 | 0.250 |
| predicted_BB | 0.521 | 0.000 | 1.000 | Hitting_BB | 0.521 | 1.000 | -0.521 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.950 | 1.000 | 2.000 | Hitting_H | 1.037 | 0.000 | -0.037 | 1.000 |
| predicted_HR | 0.210 | 0.000 | 1.000 | Hitting_HR | 0.281 | 0.000 | -0.281 | 0.000 |
| predicted_OBP | 0.307 | 0.250 | 0.300 | Hitting_OBP | 0.354 | 0.250 | -0.104 | 0.000 |
| predicted_R | 0.731 | 0.000 | 2.000 | Hitting_R | 0.731 | 0.000 | -0.731 | 0.000 |
| predicted_RBI | 0.660 | 0.000 | 2.000 | Hitting_RBI | 0.822 | 0.000 | -0.822 | 0.000 |
| predicted_SLG | 0.445 | 0.250 | 0.667 | Hitting_SLG | 0.569 | 0.000 | -0.319 | 0.250 |
| predicted_SO | 1.000 | 0.000 | 2.000 | Hitting_SO | 1.000 | 0.000 | -1.000 | 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_SLG: 0.4450 -> 0.5262 (boost 0.0812, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2600 -> 9.1090 (boost 4.8490, 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.7396 -> 1.8499 (boost 0.1103, 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.6373 -> 1.0000 (boost 0.3627, better) | predicted_HBP: 0.2870 -> 0.0000 (deboost -0.2870, worse) | AB rounded to 9 (raw=9.11), rates preserved: AVG=0.243 HR/AB=0.070 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.6537 -> 2.0000 (boost 0.3463, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.5262 -> 0.6670 (boost 0.1408, better) | predicted_OBP: 0.3365 -> 0.3000 (deboost -0.0365, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 8 | 0 | 8 | 1 | 7 | - | predicted_AB: 9.0000 -> 4.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.3000 -> 0.3365 (boost 0.0365, better) | predicted_SLG: 0.6670 -> 0.5262 (deboost -0.1408, 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.331,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.223,
"predicted_BB": 0.521,
"predicted_H": 0.95,
"predicted_HR": 0.21,
"predicted_OBP": 0.307,
"predicted_R": 0.731,
"predicted_RBI": 0.66,
"predicted_SLG": 0.445,
"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.6683,
"predicted_3B": 0.0009,
"predicted_AB": 9.109,
"predicted_AVG": 0.2301,
"predicted_BB": 1.2589,
"predicted_H": 2.1393,
"predicted_HBP": 0.287,
"predicted_HR": 0.6141,
"predicted_OBP": 0.3234,
"predicted_R": 1.5551,
"predicted_RBI": 1.7396,
"predicted_SLG": 0.4837,
"predicted_SO": 2.1097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.331,
"after": 0.6683,
"delta": 0.3373,
"percent_delta": 1.019,
"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.26,
"after": 9.109,
"delta": 4.849,
"percent_delta": 1.1383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2301,
"delta": 0.0071,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.521,
"after": 1.2589,
"delta": 0.7379,
"percent_delta": 1.4163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.1393,
"delta": 1.1893,
"percent_delta": 1.2519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.6141,
"delta": 0.4041,
"percent_delta": 1.9243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3234,
"delta": 0.0164,
"percent_delta": 0.0534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.731,
"after": 1.5551,
"delta": 0.8241,
"percent_delta": 1.1274,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.7396,
"delta": 1.0796,
"percent_delta": 1.6358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.4837,
"delta": 0.0387,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.1097,
"delta": 1.1097,
"percent_delta": 1.1097,
"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": 9.109,
"delta": 4.849,
"percent_delta": 1.1383,
"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": 3,
"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.6683,
"predicted_3B": 0.0009,
"predicted_AB": 9.109,
"predicted_AVG": 0.2428,
"predicted_BB": 1.2868,
"predicted_H": 2.2116,
"predicted_HBP": 0.287,
"predicted_HR": 0.6373,
"predicted_OBP": 0.3365,
"predicted_R": 1.6537,
"predicted_RBI": 1.8499,
"predicted_SLG": 0.5262,
"predicted_SO": 2.0629
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6683,
"after": 0.6683,
"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": 9.109,
"after": 9.109,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2301,
"after": 0.2428,
"delta": 0.0127,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2589,
"after": 1.2868,
"delta": 0.0279,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1393,
"after": 2.2116,
"delta": 0.0723,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.287,
"after": 0.287,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.6141,
"after": 0.6373,
"delta": 0.0232,
"percent_delta": 0.0378,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3234,
"after": 0.3365,
"delta": 0.0131,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.5551,
"after": 1.6537,
"delta": 0.0986,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.7396,
"after": 1.8499,
"delta": 0.1103,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4837,
"after": 0.5262,
"delta": 0.0425,
"percent_delta": 0.0879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1097,
"after": 2.0629,
"delta": -0.0468,
"percent_delta": -0.0222,
"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.7396,
"after": 1.8499,
"delta": 0.1103,
"percent_delta": 0.0634,
"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=9.11), rates preserved: AVG=0.243 HR/AB=0.070",
"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": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6683,
"after": 1.0,
"delta": 0.3317,
"percent_delta": 0.4963,
"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": 9.109,
"after": 9.0,
"delta": -0.109,
"percent_delta": -0.012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2868,
"after": 1.0,
"delta": -0.2868,
"percent_delta": -0.2229,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2116,
"after": 2.0,
"delta": -0.2116,
"percent_delta": -0.0957,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6373,
"after": 1.0,
"delta": 0.3627,
"percent_delta": 0.5691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.8499,
"after": 2.0,
"delta": 0.1501,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0629,
"after": 2.0,
"delta": -0.0629,
"percent_delta": -0.0305,
"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.6373,
"after": 1.0,
"delta": 0.3627,
"percent_delta": 0.5691,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"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": 9.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": 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": 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.6537,
"after": 2.0,
"delta": 0.3463,
"percent_delta": 0.2094,
"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.6537,
"after": 2.0,
"delta": 0.3463,
"percent_delta": 0.2094,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.667,
"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.2428,
"after": 0.222,
"delta": -0.0208,
"percent_delta": -0.0857,
"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.3365,
"after": 0.3,
"delta": -0.0365,
"percent_delta": -0.1085,
"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.5262,
"after": 0.667,
"delta": 0.1408,
"percent_delta": 0.2676,
"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.5262,
"after": 0.667,
"delta": 0.1408,
"percent_delta": 0.2676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3365,
"after": 0.3,
"delta": -0.0365,
"percent_delta": -0.1085,
"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": 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": 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": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 0,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 7,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2428,
"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.3365,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5262,
"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.222,
"after": 0.2428,
"delta": 0.0208,
"percent_delta": 0.0937,
"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.3365,
"delta": 0.0365,
"percent_delta": 0.1217,
"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.667,
"after": 0.5262,
"delta": -0.1408,
"percent_delta": -0.211,
"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.3,
"after": 0.3365,
"delta": 0.0365,
"percent_delta": 0.1217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.667,
"after": 0.5262,
"delta": -0.1408,
"percent_delta": -0.211,
"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.331,
"after": 0.0,
"delta": -0.331,
"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.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2428,
"delta": 0.0198,
"percent_delta": 0.0888,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.521,
"after": 0.0,
"delta": -0.521,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.21,
"after": 0.0,
"delta": -0.21,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.307,
"after": 0.3365,
"delta": 0.0295,
"percent_delta": 0.0961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.731,
"after": 0.0,
"delta": -0.731,
"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.445,
"after": 0.5262,
"delta": 0.0812,
"percent_delta": 0.1825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.445,
"after": 0.5262,
"delta": 0.0812,
"percent_delta": 0.1825,
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.331 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.521 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.307 | - |
| predicted_R | 0.731 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.445 | - |
| 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.668 | 0.337 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.109 | 4.849 |
| predicted_AVG | 0.230 | 0.007 |
| predicted_BB | 1.259 | 0.738 |
| predicted_H | 2.139 | 1.189 |
| predicted_HBP | 0.287 | - |
| predicted_HR | 0.614 | 0.404 |
| predicted_OBP | 0.323 | 0.016 |
| predicted_R | 1.555 | 0.824 |
| predicted_RBI | 1.740 | 1.080 |
| predicted_SLG | 0.484 | 0.039 |
| predicted_SO | 2.110 | 1.110 |
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.668 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.109 | 0.000 |
| predicted_AVG | 0.243 | 0.013 |
| predicted_BB | 1.287 | 0.028 |
| predicted_H | 2.212 | 0.072 |
| predicted_HBP | 0.287 | 0.000 |
| predicted_HR | 0.637 | 0.023 |
| predicted_OBP | 0.337 | 0.013 |
| predicted_R | 1.654 | 0.099 |
| predicted_RBI | 1.850 | 0.110 |
| predicted_SLG | 0.526 | 0.042 |
| predicted_SO | 2.063 | -0.047 |
AB rounded to 9 (raw=9.11), rates preserved: AVG=0.243 HR/AB=0.070
| 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 | 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 | 9.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 | 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.332 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.109 |
| predicted_AVG | 0.222 | -0.021 |
| predicted_BB | 1.000 | -0.287 |
| predicted_H | 2.000 | -0.212 |
| predicted_HR | 1.000 | 0.363 |
| predicted_OBP | 0.300 | -0.037 |
| predicted_R | 2.000 | 0.346 |
| predicted_RBI | 2.000 | 0.150 |
| predicted_SLG | 0.667 | 0.141 |
| 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 | 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 | -1.000 |
| PA | 4.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -2.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 | - | 16.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 4.000 | 1.000 | 0.0625 | 0.2857 | 0.2500 | 0.0625 | 0.0625 | 0.1250 | 0.2500 | 0.0625 |
| last_10 | 0.20 | 3 | - | 36.000 | 6.000 | 1.000 | 0.000 | 5.000 | 10.000 | 5.000 | 4.000 | 6.000 | 0.1667 | 0.3333 | 0.6111 | 0.1667 | 0.1389 | 0.2778 | 0.1111 | 0.1667 |
| season | 0.60 | 56 | - | 940.000 | 251.000 | 80.000 | 0.000 | 68.000 | 199.000 | 177.000 | 126.000 | 242.000 | 0.2670 | 0.3537 | 0.5691 | 0.2670 | 0.0723 | 0.2117 | 0.1340 | 0.2575 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0940 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.2280 |
| predicted_AVG | 0.2390 |
| predicted_BB | 2.1900 |
| predicted_H | 3.6400 |
| predicted_HBP | 0.2870 |
| predicted_HR | 1.1240 |
| predicted_OBP | 0.3442 |
| predicted_R | 2.5950 |
| predicted_RBI | 3.1020 |
| predicted_SLG | 0.5325 |
| predicted_SO | 3.5100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3310 | 1.0940 | 0.6683 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.2600 | 15.2280 | 9.1090 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2390 | 0.2301 | model_form_blend |
| predicted_BB | 0.5210 | 2.1900 | 1.2589 | model_form_blend |
| predicted_H | 0.9500 | 3.6400 | 2.1393 | model_form_blend |
| predicted_HBP | - | 0.2870 | 0.2870 | form_only |
| predicted_HR | 0.2100 | 1.1240 | 0.6141 | model_form_blend |
| predicted_OBP | 0.3070 | 0.3442 | 0.3234 | model_form_blend |
| predicted_R | 0.7310 | 2.5950 | 1.5551 | model_form_blend |
| predicted_RBI | 0.6600 | 3.1020 | 1.7396 | model_form_blend |
| predicted_SLG | 0.4450 | 0.5325 | 0.4837 | model_form_blend |
| predicted_SO | 1.0000 | 3.5100 | 2.1097 | 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 | 242 |
| Season rows before report date | 242 |
| Report year | 2026 |
| Profile rows used | 242 |
| 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.267 |
| 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 | 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 621566 |
| playerID | 621566 |
| playerName | Matt Olson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.384 |
| sl_xwoba | 0.379 |
| sl_xba | 0.259 |
| sl_xslg | 0.55 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 15.8 |
| sl_hard_hit_percent | 51.3 |
| sl_exit_velocity_avg | 93.1 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 45.3 |
| at_bat_number | 66.0 |
| ab_pitcher | 670245.0 |
| ab_pitcher_name | Watson, Ryan |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 643289.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 7.0 |
| ab_event | field_out |
| ab_event_description | Matt Olson lines out sharply to right fielder Wilyer Abreu. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 108.9 |
| ab_launch_angle_last | 13.0 |
| ab_hit_distance_last | 293.0 |
| ab_estimated_ba_last | 0.809 |
| ab_estimated_woba_last | 0.822 |
| ab_estimated_slg_last | 1.143 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 7.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 7.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.24 |
| ab_release_spin_rate_avg | 2026.8 |
| ab_effective_speed_avg | 93.54 |
| ab_launch_speed_avg | 108.9 |
| ab_launch_angle_avg | 13.0 |
| ab_delta_run_exp_avg | -0.0506 |
| ab_delta_home_win_exp_avg | 0.0008 |
| ab_delta_pitcher_run_exp_avg | 0.0506 |
| ab_bat_speed_avg | 76.95 |
| ab_swing_length_avg | 7.05 |
| ab_launch_speed_max | 108.9 |
| ab_hit_distance_sc_max | 293.0 |
| ab_release_speed_max | 95.5 |
| ab_release_spin_rate_max | 2114.0 |
| ab_release_speed_min | 84.9 |
| ab_release_spin_rate_min | 1946.0 |
| ab_delta_run_exp_sum | -0.253 |
| ab_delta_home_win_exp_sum | 0.004 |
| ab_delta_pitcher_run_exp_sum | 0.253 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.124 | 0.000 | 0.000 | Hitting_2B | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.886 | 4.000 | 8.000 | Hitting_AB | 3.866 | 4.000 | 0.134 | 0.000 |
| predicted_AVG | 0.261 | 0.000 | 0.250 | Hitting_AVG | 0.295 | 0.000 | -0.295 | 0.000 |
| predicted_BB | 0.119 | 0.000 | 0.000 | Hitting_BB | 0.124 | 0.000 | -0.124 | 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.139 | 0.000 | -1.139 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.247 | 0.000 | -0.247 | 0.000 |
| predicted_OBP | 0.316 | 0.000 | 0.250 | Hitting_OBP | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_R | 0.518 | 0.000 | 1.000 | Hitting_R | 0.515 | 0.000 | -0.515 | 0.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.660 | 0.000 | -0.660 | 0.000 |
| predicted_SLG | 0.486 | 0.000 | 0.250 | Hitting_SLG | 0.519 | 0.000 | -0.519 | 0.000 |
| predicted_SO | 0.782 | 1.000 | 2.000 | Hitting_SO | 0.778 | 2.000 | 0.222 | -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.7820 -> 1.0000 (boost 0.2180, 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.8860 -> 8.0936 (boost 4.2076, 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.3475 -> 1.4329 (boost 0.0854, better) | predicted_OBP: 0.3140 -> 0.3070 (deboost -0.0070, 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: 1.7232 -> 2.0000 (boost 0.2768, worse) | predicted_HR: 0.5007 -> 0.0000 (deboost -0.5007, worse) | AB rounded to 8 (raw=8.09), rates preserved: AVG=0.287 HR/AB=0.062 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1496 -> 1.0000 (deboost -0.1496, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5094 -> 0.2500 (deboost -0.2594, 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 -> 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.5094 (boost 0.2594, 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.124,
"predicted_3B": 0.0,
"predicted_AB": 3.886,
"predicted_AVG": 0.261,
"predicted_BB": 0.119,
"predicted_H": 0.95,
"predicted_HR": 0.19,
"predicted_OBP": 0.316,
"predicted_R": 0.518,
"predicted_RBI": 0.56,
"predicted_SLG": 0.486,
"predicted_SO": 0.782
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.297,
"predicted_3B": 0.0009,
"predicted_AB": 8.0936,
"predicted_AVG": 0.2736,
"predicted_BB": 0.2292,
"predicted_H": 2.2461,
"predicted_HBP": 0.1,
"predicted_HR": 0.4825,
"predicted_OBP": 0.314,
"predicted_R": 1.0811,
"predicted_RBI": 1.3475,
"predicted_SLG": 0.5006,
"predicted_SO": 1.7623
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.124,
"after": 0.297,
"delta": 0.173,
"percent_delta": 1.3952,
"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.886,
"after": 8.0936,
"delta": 4.2076,
"percent_delta": 1.0828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2736,
"delta": 0.0126,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.119,
"after": 0.2292,
"delta": 0.1102,
"percent_delta": 0.9261,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.2461,
"delta": 1.2961,
"percent_delta": 1.3643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.4825,
"delta": 0.2925,
"percent_delta": 1.5395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.314,
"delta": -0.002,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 1.0811,
"delta": 0.5631,
"percent_delta": 1.0871,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.3475,
"delta": 0.7875,
"percent_delta": 1.4062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.5006,
"delta": 0.0146,
"percent_delta": 0.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 1.7623,
"delta": 0.9803,
"percent_delta": 1.2536,
"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.886,
"after": 8.0936,
"delta": 4.2076,
"percent_delta": 1.0828,
"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": 3,
"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.297,
"predicted_3B": 0.0009,
"predicted_AB": 8.0936,
"predicted_AVG": 0.2869,
"predicted_BB": 0.2343,
"predicted_H": 2.322,
"predicted_HBP": 0.1,
"predicted_HR": 0.5007,
"predicted_OBP": 0.307,
"predicted_R": 1.1496,
"predicted_RBI": 1.4329,
"predicted_SLG": 0.5094,
"predicted_SO": 1.7232
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.297,
"after": 0.297,
"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.0936,
"after": 8.0936,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2736,
"after": 0.2869,
"delta": 0.0133,
"percent_delta": 0.0486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2292,
"after": 0.2343,
"delta": 0.0051,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2461,
"after": 2.322,
"delta": 0.0759,
"percent_delta": 0.0338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.1,
"after": 0.1,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4825,
"after": 0.5007,
"delta": 0.0182,
"percent_delta": 0.0377,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.307,
"delta": -0.007,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0811,
"after": 1.1496,
"delta": 0.0685,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3475,
"after": 1.4329,
"delta": 0.0854,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5006,
"after": 0.5094,
"delta": 0.0088,
"percent_delta": 0.0176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7623,
"after": 1.7232,
"delta": -0.0391,
"percent_delta": -0.0222,
"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.3475,
"after": 1.4329,
"delta": 0.0854,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.307,
"delta": -0.007,
"percent_delta": -0.0223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.09), rates preserved: AVG=0.287 HR/AB=0.062",
"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.297,
"after": 0.0,
"delta": -0.297,
"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.0936,
"after": 8.0,
"delta": -0.0936,
"percent_delta": -0.0116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2343,
"after": 0.0,
"delta": -0.2343,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.322,
"after": 2.0,
"delta": -0.322,
"percent_delta": -0.1387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5007,
"after": 0.0,
"delta": -0.5007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4329,
"after": 1.0,
"delta": -0.4329,
"percent_delta": -0.3021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7232,
"after": 2.0,
"delta": 0.2768,
"percent_delta": 0.1606,
"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.7232,
"after": 2.0,
"delta": 0.2768,
"percent_delta": 0.1606,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.5007,
"after": 0.0,
"delta": -0.5007,
"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": 1.1496,
"after": 1.0,
"delta": -0.1496,
"percent_delta": -0.1301,
"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.1496,
"after": 1.0,
"delta": -0.1496,
"percent_delta": -0.1301,
"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": 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.2869,
"after": 0.25,
"delta": -0.0369,
"percent_delta": -0.1286,
"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.307,
"after": 0.25,
"delta": -0.057,
"percent_delta": -0.1857,
"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.5094,
"after": 0.25,
"delta": -0.2594,
"percent_delta": -0.5092,
"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.5094,
"after": 0.25,
"delta": -0.2594,
"percent_delta": -0.5092,
"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": 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": 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": 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.2869,
"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.307,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5094,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2869,
"delta": 0.0369,
"percent_delta": 0.1476,
"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.307,
"delta": 0.057,
"percent_delta": 0.2278,
"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.5094,
"delta": 0.2594,
"percent_delta": 1.0376,
"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.5094,
"delta": 0.2594,
"percent_delta": 1.0376,
"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.124,
"after": 0.0,
"delta": -0.124,
"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.886,
"after": 4.0,
"delta": 0.114,
"percent_delta": 0.0293,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2869,
"delta": 0.0259,
"percent_delta": 0.0992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.119,
"after": 0.0,
"delta": -0.119,
"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.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.307,
"delta": -0.009,
"percent_delta": -0.0285,
"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.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.486,
"after": 0.5094,
"delta": 0.0234,
"percent_delta": 0.0481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.782,
"after": 1.0,
"delta": 0.218,
"percent_delta": 0.2788,
"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.782,
"after": 1.0,
"delta": 0.218,
"percent_delta": 0.2788,
"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.124 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.886 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.119 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.518 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.486 | - |
| predicted_SO | 0.782 | - |
Final model 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.173 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.094 | 4.208 |
| predicted_AVG | 0.274 | 0.013 |
| predicted_BB | 0.229 | 0.110 |
| predicted_H | 2.246 | 1.296 |
| predicted_HBP | 0.100 | - |
| predicted_HR | 0.482 | 0.292 |
| predicted_OBP | 0.314 | -0.002 |
| predicted_R | 1.081 | 0.563 |
| predicted_RBI | 1.347 | 0.787 |
| predicted_SLG | 0.501 | 0.015 |
| predicted_SO | 1.762 | 0.980 |
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 | 8.094 | 0.000 |
| predicted_AVG | 0.287 | 0.013 |
| predicted_BB | 0.234 | 0.005 |
| predicted_H | 2.322 | 0.076 |
| predicted_HBP | 0.100 | 0.000 |
| predicted_HR | 0.501 | 0.018 |
| predicted_OBP | 0.307 | -0.007 |
| predicted_R | 1.150 | 0.069 |
| predicted_RBI | 1.433 | 0.085 |
| predicted_SLG | 0.509 | 0.009 |
| predicted_SO | 1.723 | -0.039 |
AB rounded to 8 (raw=8.09), rates preserved: AVG=0.287 HR/AB=0.062
| 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.297 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.094 |
| predicted_AVG | 0.250 | -0.037 |
| predicted_BB | 0.000 | -0.234 |
| predicted_H | 2.000 | -0.322 |
| predicted_HR | 0.000 | -0.501 |
| predicted_OBP | 0.250 | -0.057 |
| predicted_R | 1.000 | -0.150 |
| predicted_RBI | 1.000 | -0.433 |
| predicted_SLG | 0.250 | -0.259 |
| predicted_SO | 2.000 | 0.277 |
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 | 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 | 4.000 | 1.000 | 0.000 | 1.000 | 3.000 | 2.000 | 0.000 | 8.000 | 0.2000 | 0.2000 | 0.4000 | 0.2000 | 0.0500 | 0.1500 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 3 | - | 38.000 | 16.000 | 4.000 | 0.000 | 4.000 | 12.000 | 8.000 | 0.000 | 8.000 | 0.4211 | 0.4500 | 0.8421 | 0.4210 | 0.1053 | 0.3158 | 0.0000 | 0.2105 |
| season | 0.60 | 52 | - | 750.000 | 221.000 | 24.000 | 0.000 | 48.000 | 128.000 | 100.000 | 23.000 | 151.000 | 0.2947 | 0.3171 | 0.5187 | 0.2947 | 0.0640 | 0.1707 | 0.0307 | 0.2013 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5180 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.4660 |
| predicted_AVG | 0.2897 |
| predicted_BB | 0.3700 |
| predicted_H | 3.9010 |
| predicted_HBP | 0.1000 |
| predicted_HR | 0.8560 |
| predicted_OBP | 0.3115 |
| predicted_R | 1.8000 |
| predicted_RBI | 2.3530 |
| predicted_SLG | 0.5192 |
| predicted_SO | 3.0140 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1240 | 0.5180 | 0.2970 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8860 | 13.4660 | 8.0936 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2897 | 0.2736 | model_form_blend |
| predicted_BB | 0.1190 | 0.3700 | 0.2292 | model_form_blend |
| predicted_H | 0.9500 | 3.9010 | 2.2461 | model_form_blend |
| predicted_HBP | - | 0.1000 | 0.1000 | form_only |
| predicted_HR | 0.1900 | 0.8560 | 0.4825 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3115 | 0.3140 | model_form_blend |
| predicted_R | 0.5180 | 1.8000 | 1.0811 | model_form_blend |
| predicted_RBI | 0.5600 | 2.3530 | 1.3475 | model_form_blend |
| predicted_SLG | 0.4860 | 0.5192 | 0.5006 | model_form_blend |
| predicted_SO | 0.7820 | 3.0140 | 1.7623 | 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 | 193 |
| 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 | 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 | 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 671739 |
| playerID | 671739 |
| playerName | Michael Harris II |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 19.2 |
| sl_bb_percent | 3.6 |
| sl_woba | 0.376 |
| sl_xwoba | 0.39 |
| sl_xba | 0.305 |
| sl_xslg | 0.575 |
| sl_sweet_spot_percent | 29.1 |
| sl_barrel_batted_rate | 16.3 |
| sl_hard_hit_percent | 56.1 |
| sl_exit_velocity_avg | 93.4 |
| sl_launch_angle_avg | 11.4 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 56.5 |
| at_bat_number | 69.0 |
| ab_pitcher | 670245.0 |
| ab_pitcher_name | Watson, Ryan |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 645277.0 |
| ab_on_2b_start | 643289.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 7.0 |
| ab_event | field_out |
| ab_event_description | Michael Harris II lines out to second baseman Nick Sogard. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 96.6 |
| ab_launch_angle_last | 10.0 |
| ab_hit_distance_last | 187.0 |
| ab_estimated_ba_last | 0.729 |
| ab_estimated_woba_last | 0.708 |
| ab_estimated_slg_last | 0.855 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 7.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 7.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 94.85 |
| ab_release_spin_rate_avg | 2252.0 |
| ab_effective_speed_avg | 96.6 |
| ab_launch_speed_avg | 83.44999999999999 |
| ab_launch_angle_avg | 21.5 |
| ab_delta_run_exp_avg | -0.1425 |
| ab_delta_home_win_exp_avg | 0.001 |
| ab_delta_pitcher_run_exp_avg | 0.1425 |
| ab_bat_speed_avg | 71.44999999999999 |
| ab_swing_length_avg | 7.15 |
| ab_launch_speed_max | 96.6 |
| ab_hit_distance_sc_max | 187.0 |
| ab_release_speed_max | 95.0 |
| ab_release_spin_rate_max | 2280.0 |
| ab_release_speed_min | 94.7 |
| ab_release_spin_rate_min | 2224.0 |
| ab_delta_run_exp_sum | -0.285 |
| ab_delta_home_win_exp_sum | 0.002 |
| ab_delta_pitcher_run_exp_sum | 0.285 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.176 | 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.176 | 3.000 | 5.000 | Hitting_AB | 2.805 | 4.000 | 0.195 | -1.000 |
| predicted_AVG | 0.300 | 0.000 | 0.200 | Hitting_AVG | 0.361 | 0.500 | -0.361 | -0.500 |
| predicted_BB | 0.235 | 1.000 | 0.000 | Hitting_BB | 0.208 | 0.000 | 0.792 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.230 | 0.000 | 1.000 | Hitting_H | 1.013 | 2.000 | -1.013 | -2.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.078 | 0.000 | -0.078 | 0.000 |
| predicted_OBP | 0.328 | 0.250 | 0.200 | Hitting_OBP | 0.405 | 0.500 | -0.155 | -0.250 |
| predicted_R | 0.868 | 0.000 | 1.000 | Hitting_R | 0.779 | 0.000 | -0.779 | 0.000 |
| predicted_RBI | 0.130 | 0.000 | 0.000 | Hitting_RBI | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_SLG | 0.430 | 0.000 | 0.200 | Hitting_SLG | 0.500 | 0.500 | -0.500 | -0.500 |
| predicted_SO | 0.868 | 1.000 | 1.000 | Hitting_SO | 0.766 | 0.000 | 0.234 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_BB: 0.2350 -> 1.0000 (boost 0.7650, better) |
| Biggest Deboost | predicted_R: 0.8680 -> 0.0000 (deboost -0.8680, 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.1760 -> 5.2794 (boost 2.1034, 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_R: 1.2958 -> 1.3780 (boost 0.0822, better) | predicted_SLG: 0.4549 -> 0.3870 (deboost -0.0679, 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_H: 1.4219 -> 1.0000 (deboost -0.4219, worse) | AB rounded to 5 (raw=5.28), rates preserved: AVG=0.269 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3780 -> 1.0000 (deboost -0.3780, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3870 -> 0.2000 (deboost -0.1870, 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_BB: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3870 (boost 0.1870, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "622761",
"player_name": "Jorge Mateo",
"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.176,
"predicted_3B": 0.0,
"predicted_AB": 3.176,
"predicted_AVG": 0.3,
"predicted_BB": 0.235,
"predicted_H": 0.23,
"predicted_HR": 0.04,
"predicted_OBP": 0.328,
"predicted_R": 0.868,
"predicted_RBI": 0.13,
"predicted_SLG": 0.43,
"predicted_SO": 0.868
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2976,
"predicted_3B": 0.0017,
"predicted_AB": 5.2794,
"predicted_AVG": 0.3259,
"predicted_BB": 0.3874,
"predicted_H": 1.3754,
"predicted_HBP": 0.009,
"predicted_HR": 0.1029,
"predicted_OBP": 0.3609,
"predicted_R": 1.2958,
"predicted_RBI": 0.3491,
"predicted_SLG": 0.4549,
"predicted_SO": 1.3003
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.176,
"after": 0.2976,
"delta": 0.1216,
"percent_delta": 0.6909,
"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.176,
"after": 5.2794,
"delta": 2.1034,
"percent_delta": 0.6623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3259,
"delta": 0.0259,
"percent_delta": 0.0863,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 0.3874,
"delta": 0.1524,
"percent_delta": 0.6485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 1.3754,
"delta": 1.1454,
"percent_delta": 4.98,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.1029,
"delta": 0.0629,
"percent_delta": 1.5725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3609,
"delta": 0.0329,
"percent_delta": 0.1003,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.868,
"after": 1.2958,
"delta": 0.4278,
"percent_delta": 0.4929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.3491,
"delta": 0.2191,
"percent_delta": 1.6854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.4549,
"delta": 0.0249,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.868,
"after": 1.3003,
"delta": 0.4323,
"percent_delta": 0.498,
"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.176,
"after": 5.2794,
"delta": 2.1034,
"percent_delta": 0.6623,
"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": 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.2976,
"predicted_3B": 0.0017,
"predicted_AB": 5.2794,
"predicted_AVG": 0.2693,
"predicted_BB": 0.396,
"predicted_H": 1.4219,
"predicted_HBP": 0.009,
"predicted_HR": 0.1068,
"predicted_OBP": 0.3203,
"predicted_R": 1.378,
"predicted_RBI": 0.3712,
"predicted_SLG": 0.387,
"predicted_SO": 1.2714
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2976,
"after": 0.2976,
"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.2794,
"after": 5.2794,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3259,
"after": 0.2693,
"delta": -0.0566,
"percent_delta": -0.1737,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3874,
"after": 0.396,
"delta": 0.0086,
"percent_delta": 0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3754,
"after": 1.4219,
"delta": 0.0465,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1029,
"after": 0.1068,
"delta": 0.0039,
"percent_delta": 0.0379,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3609,
"after": 0.3203,
"delta": -0.0406,
"percent_delta": -0.1125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2958,
"after": 1.378,
"delta": 0.0822,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3491,
"after": 0.3712,
"delta": 0.0221,
"percent_delta": 0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4549,
"after": 0.387,
"delta": -0.0679,
"percent_delta": -0.1493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3003,
"after": 1.2714,
"delta": -0.0289,
"percent_delta": -0.0222,
"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_R",
"before": 1.2958,
"after": 1.378,
"delta": 0.0822,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4549,
"after": 0.387,
"delta": -0.0679,
"percent_delta": -0.1493,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.28), rates preserved: AVG=0.269 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.2976,
"after": 0.0,
"delta": -0.2976,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.2794,
"after": 5.0,
"delta": -0.2794,
"percent_delta": -0.0529,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4219,
"after": 1.0,
"delta": -0.4219,
"percent_delta": -0.2967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1068,
"after": 0.0,
"delta": -0.1068,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3712,
"after": 0.0,
"delta": -0.3712,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2714,
"after": 1.0,
"delta": -0.2714,
"percent_delta": -0.2135,
"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_H",
"before": 1.4219,
"after": 1.0,
"delta": -0.4219,
"percent_delta": -0.2967,
"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": 1.378,
"after": 1.0,
"delta": -0.378,
"percent_delta": -0.2743,
"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.378,
"after": 1.0,
"delta": -0.378,
"percent_delta": -0.2743,
"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": 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.2693,
"after": 0.2,
"delta": -0.0693,
"percent_delta": -0.2573,
"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.3203,
"after": 0.2,
"delta": -0.1203,
"percent_delta": -0.3756,
"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.387,
"after": 0.2,
"delta": -0.187,
"percent_delta": -0.4832,
"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.387,
"after": 0.2,
"delta": -0.187,
"percent_delta": -0.4832,
"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": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.2693,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3203,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.387,
"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.2,
"after": 0.2693,
"delta": 0.0693,
"percent_delta": 0.3466,
"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.2,
"after": 0.3203,
"delta": 0.1203,
"percent_delta": 0.6016,
"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.387,
"delta": 0.187,
"percent_delta": 0.9351,
"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.387,
"delta": 0.187,
"percent_delta": 0.9351,
"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.176,
"after": 3.0,
"delta": -0.176,
"percent_delta": -0.0554,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2693,
"delta": -0.0307,
"percent_delta": -0.1023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.23,
"after": 0.0,
"delta": -0.23,
"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.328,
"after": 0.3203,
"delta": -0.0077,
"percent_delta": -0.0235,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.868,
"after": 0.0,
"delta": -0.868,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.43,
"after": 0.387,
"delta": -0.043,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.868,
"after": 1.0,
"delta": 0.132,
"percent_delta": 0.1521,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.235,
"after": 1.0,
"delta": 0.765,
"percent_delta": 3.2553,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.868,
"after": 0.0,
"delta": -0.868,
"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.176 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.235 | - |
| predicted_H | 0.230 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.868 | - |
| predicted_RBI | 0.130 | - |
| predicted_SLG | 0.430 | - |
| predicted_SO | 0.868 | - |
Final model 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.122 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.279 | 2.103 |
| predicted_AVG | 0.326 | 0.026 |
| predicted_BB | 0.387 | 0.152 |
| predicted_H | 1.375 | 1.145 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.103 | 0.063 |
| predicted_OBP | 0.361 | 0.033 |
| predicted_R | 1.296 | 0.428 |
| predicted_RBI | 0.349 | 0.219 |
| predicted_SLG | 0.455 | 0.025 |
| predicted_SO | 1.300 | 0.432 |
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.002 | 0.000 |
| predicted_AB | 5.279 | 0.000 |
| predicted_AVG | 0.269 | -0.057 |
| predicted_BB | 0.396 | 0.009 |
| predicted_H | 1.422 | 0.046 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.107 | 0.004 |
| predicted_OBP | 0.320 | -0.041 |
| predicted_R | 1.378 | 0.082 |
| predicted_RBI | 0.371 | 0.022 |
| predicted_SLG | 0.387 | -0.068 |
| predicted_SO | 1.271 | -0.029 |
AB rounded to 5 (raw=5.28), rates preserved: AVG=0.269 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.298 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | -0.279 |
| predicted_AVG | 0.200 | -0.069 |
| predicted_BB | 0.000 | -0.396 |
| predicted_H | 1.000 | -0.422 |
| predicted_HR | 0.000 | -0.107 |
| predicted_OBP | 0.200 | -0.120 |
| predicted_R | 1.000 | -0.378 |
| predicted_RBI | 0.000 | -0.371 |
| predicted_SLG | 0.200 | -0.187 |
| predicted_SO | 1.000 | -0.271 |
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 | 1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 17.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.4706 | 0.4706 | 0.4706 | 0.4706 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 30.000 | 12.000 | 4.000 | 0.000 | 0.000 | 0.000 | 8.000 | 4.000 | 5.000 | 0.4000 | 0.4706 | 0.5333 | 0.4000 | 0.0000 | 0.0000 | 0.1333 | 0.1667 |
| season | 0.60 | 24 | - | 216.000 | 78.000 | 12.000 | 0.000 | 6.000 | 20.000 | 59.000 | 16.000 | 59.000 | 0.3611 | 0.4052 | 0.5000 | 0.3611 | 0.0278 | 0.0926 | 0.0741 | 0.2732 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4680 |
| predicted_3B | 0.0040 |
| predicted_AB | 8.2260 |
| predicted_AVG | 0.3622 |
| predicted_BB | 0.6010 |
| predicted_H | 2.9800 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1910 |
| predicted_OBP | 0.4069 |
| predicted_R | 1.8950 |
| predicted_RBI | 0.6560 |
| predicted_SLG | 0.4898 |
| predicted_SO | 1.9060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1760 | 0.4680 | 0.2976 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 3.1760 | 8.2260 | 5.2794 | model_form_blend |
| predicted_AVG | 0.3000 | 0.3622 | 0.3259 | model_form_blend |
| predicted_BB | 0.2350 | 0.6010 | 0.3874 | model_form_blend |
| predicted_H | 0.2300 | 2.9800 | 1.3754 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0400 | 0.1910 | 0.1029 | model_form_blend |
| predicted_OBP | 0.3280 | 0.4069 | 0.3609 | model_form_blend |
| predicted_R | 0.8680 | 1.8950 | 1.2958 | model_form_blend |
| predicted_RBI | 0.1300 | 0.6560 | 0.3491 | model_form_blend |
| predicted_SLG | 0.4300 | 0.4898 | 0.4549 | model_form_blend |
| predicted_SO | 0.8680 | 1.9060 | 1.3003 | 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 | 68 |
| 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.361 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 2 |
| Hitting_battingOrder | 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 622761 |
| playerID | 622761 |
| playerName | Jorge Mateo |
| pos | SS |
| started | True |
| startingPosition | DH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 32.8 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.352 |
| sl_xwoba | 0.309 |
| sl_xba | 0.258 |
| sl_xslg | 0.401 |
| sl_sweet_spot_percent | 41.0 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 9.8 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 53.3 |
| at_bat_number | 74.0 |
| ab_pitcher | 670245.0 |
| ab_pitcher_name | Watson, Ryan |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| 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 | 8.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 8.0 |
| ab_event | field_out |
| ab_event_description | Jorge Mateo flies out to center fielder Ceddanne Rafaela. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 91.8 |
| ab_launch_angle_last | 27.0 |
| ab_hit_distance_last | 351.0 |
| ab_estimated_ba_last | 0.109 |
| ab_estimated_woba_last | 0.14 |
| ab_estimated_slg_last | 0.225 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 8.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 90.45 |
| ab_release_spin_rate_avg | 1975.0 |
| ab_effective_speed_avg | 91.9 |
| ab_launch_speed_avg | 78.35 |
| ab_launch_angle_avg | 32.5 |
| ab_delta_run_exp_avg | -0.128 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.128 |
| ab_bat_speed_avg | 74.5 |
| ab_swing_length_avg | 7.4 |
| ab_launch_speed_max | 91.8 |
| ab_hit_distance_sc_max | 351.0 |
| ab_release_speed_max | 93.4 |
| ab_release_spin_rate_max | 2056.0 |
| ab_release_speed_min | 87.5 |
| ab_release_spin_rate_min | 1894.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.140 | 0.000 | 0.000 | Hitting_2B | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_3B | 0.009 | 0.000 | 0.000 | Hitting_3B | 0.009 | 0.000 | -0.009 | 0.000 |
| predicted_AB | 3.360 | 3.000 | 6.000 | Hitting_AB | 3.302 | 1.000 | -0.302 | 2.000 |
| predicted_AVG | 0.285 | 0.333 | 0.333 | Hitting_AVG | 0.342 | 0.000 | -0.009 | 0.333 |
| predicted_BB | 0.105 | 0.000 | 0.000 | Hitting_BB | 0.112 | 0.000 | -0.112 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.690 | 1.000 | 2.000 | Hitting_H | 1.129 | 0.000 | -0.129 | 1.000 |
| predicted_HR | 0.110 | 1.000 | 0.000 | Hitting_HR | 0.138 | 0.000 | 0.862 | 1.000 |
| predicted_OBP | 0.311 | 0.333 | 0.333 | Hitting_OBP | 0.367 | 0.000 | -0.034 | 0.333 |
| predicted_R | 0.535 | 1.000 | 1.000 | Hitting_R | 0.526 | 0.000 | 0.474 | 1.000 |
| predicted_RBI | 0.470 | 1.000 | 1.000 | Hitting_RBI | 0.672 | 1.000 | 0.328 | 0.000 |
| predicted_SLG | 0.467 | 1.333 | 0.333 | Hitting_SLG | 0.514 | 0.000 | 0.819 | 1.333 |
| predicted_SO | 0.509 | 1.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | 0.500 | 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_HR: 0.1100 -> 1.0000 (boost 0.8900, better) |
| Biggest Deboost | predicted_AB: 3.3600 -> 3.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 | 9 | 8 | 1 | 7 | 2 | predicted_AB: 3.3600 -> 5.5025 (boost 2.1425, better) | predicted_SLG: 0.4670 -> 0.4494 (deboost -0.0176, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 1 | 3 | 1 | 3 | predicted_RBI: 0.9277 -> 0.9865 (boost 0.0588, better) | predicted_SLG: 0.4494 -> 0.4123 (deboost -0.0371, 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_H: 1.4717 -> 2.0000 (boost 0.5283, better) | predicted_2B: 0.2066 -> 0.0000 (deboost -0.2066, worse) | AB rounded to 6 (raw=5.50), rates preserved: AVG=0.267 HR/AB=0.034 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8139 -> 1.0000 (boost 0.1861, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2675 -> 0.3330 (boost 0.0655, better) | predicted_SLG: 0.4123 -> 0.3330 (deboost -0.0793, 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_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.4123 (boost 0.0793, better) | predicted_AVG: 0.3330 -> 0.2675 (deboost -0.0655, worse) | 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.14,
"predicted_3B": 0.009,
"predicted_AB": 3.36,
"predicted_AVG": 0.285,
"predicted_BB": 0.105,
"predicted_H": 0.69,
"predicted_HR": 0.11,
"predicted_OBP": 0.311,
"predicted_R": 0.535,
"predicted_RBI": 0.47,
"predicted_SLG": 0.467,
"predicted_SO": 0.509
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2066,
"predicted_3B": 0.0129,
"predicted_AB": 5.5025,
"predicted_AVG": 0.2859,
"predicted_BB": 0.1617,
"predicted_H": 1.4236,
"predicted_HBP": 0.085,
"predicted_HR": 0.1813,
"predicted_OBP": 0.3104,
"predicted_R": 0.7654,
"predicted_RBI": 0.9277,
"predicted_SLG": 0.4494,
"predicted_SO": 1.0398
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.14,
"after": 0.2066,
"delta": 0.0666,
"percent_delta": 0.4757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.009,
"after": 0.0129,
"delta": 0.0039,
"percent_delta": 0.4333,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.36,
"after": 5.5025,
"delta": 2.1425,
"percent_delta": 0.6376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2859,
"delta": 0.0009,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.105,
"after": 0.1617,
"delta": 0.0567,
"percent_delta": 0.54,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.4236,
"delta": 0.7336,
"percent_delta": 1.0632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1813,
"delta": 0.0713,
"percent_delta": 0.6482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3104,
"delta": -0.0006,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 0.7654,
"delta": 0.2304,
"percent_delta": 0.4307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.9277,
"delta": 0.4577,
"percent_delta": 0.9738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4494,
"delta": -0.0176,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.509,
"after": 1.0398,
"delta": 0.5308,
"percent_delta": 1.0428,
"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.36,
"after": 5.5025,
"delta": 2.1425,
"percent_delta": 0.6376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4494,
"delta": -0.0176,
"percent_delta": -0.0377,
"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": 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.2066,
"predicted_3B": 0.0129,
"predicted_AB": 5.5025,
"predicted_AVG": 0.2675,
"predicted_BB": 0.1653,
"predicted_H": 1.4717,
"predicted_HBP": 0.085,
"predicted_HR": 0.1881,
"predicted_OBP": 0.2888,
"predicted_R": 0.8139,
"predicted_RBI": 0.9865,
"predicted_SLG": 0.4123,
"predicted_SO": 1.0167
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2066,
"after": 0.2066,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0129,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5025,
"after": 5.5025,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2859,
"after": 0.2675,
"delta": -0.0184,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1617,
"after": 0.1653,
"delta": 0.0036,
"percent_delta": 0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4236,
"after": 1.4717,
"delta": 0.0481,
"percent_delta": 0.0338,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.085,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1813,
"after": 0.1881,
"delta": 0.0068,
"percent_delta": 0.0375,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3104,
"after": 0.2888,
"delta": -0.0216,
"percent_delta": -0.0696,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7654,
"after": 0.8139,
"delta": 0.0485,
"percent_delta": 0.0634,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9277,
"after": 0.9865,
"delta": 0.0588,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4494,
"after": 0.4123,
"delta": -0.0371,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0398,
"after": 1.0167,
"delta": -0.0231,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.9277,
"after": 0.9865,
"delta": 0.0588,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4494,
"after": 0.4123,
"delta": -0.0371,
"percent_delta": -0.0826,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.50), rates preserved: AVG=0.267 HR/AB=0.034",
"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.2066,
"after": 0.0,
"delta": -0.2066,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0129,
"after": 0.0,
"delta": -0.0129,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.5025,
"after": 6.0,
"delta": 0.4975,
"percent_delta": 0.0904,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1653,
"after": 0.0,
"delta": -0.1653,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4717,
"after": 2.0,
"delta": 0.5283,
"percent_delta": 0.359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1881,
"after": 0.0,
"delta": -0.1881,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9865,
"after": 1.0,
"delta": 0.0135,
"percent_delta": 0.0137,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0167,
"after": 1.0,
"delta": -0.0167,
"percent_delta": -0.0164,
"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_H",
"before": 1.4717,
"after": 2.0,
"delta": 0.5283,
"percent_delta": 0.359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2066,
"after": 0.0,
"delta": -0.2066,
"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.8139,
"after": 1.0,
"delta": 0.1861,
"percent_delta": 0.2287,
"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.8139,
"after": 1.0,
"delta": 0.1861,
"percent_delta": 0.2287,
"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.2675,
"after": 0.333,
"delta": 0.0655,
"percent_delta": 0.2449,
"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.2888,
"after": 0.333,
"delta": 0.0442,
"percent_delta": 0.153,
"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.4123,
"after": 0.333,
"delta": -0.0793,
"percent_delta": -0.1923,
"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.333,
"delta": 0.0655,
"percent_delta": 0.2449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4123,
"after": 0.333,
"delta": -0.0793,
"percent_delta": -0.1923,
"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": 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": 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": 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": 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.2675,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2888,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4123,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2675,
"delta": -0.0655,
"percent_delta": -0.1968,
"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.2888,
"delta": -0.0442,
"percent_delta": -0.1327,
"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.4123,
"delta": 0.0793,
"percent_delta": 0.2381,
"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.4123,
"delta": 0.0793,
"percent_delta": 0.2381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2675,
"delta": -0.0655,
"percent_delta": -0.1968,
"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.14,
"after": 0.0,
"delta": -0.14,
"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": 3.36,
"after": 3.0,
"delta": -0.36,
"percent_delta": -0.1071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.2675,
"delta": -0.0175,
"percent_delta": -0.0614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.105,
"after": 0.0,
"delta": -0.105,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.69,
"after": 1.0,
"delta": 0.31,
"percent_delta": 0.4493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.2888,
"delta": -0.0222,
"percent_delta": -0.0714,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.535,
"after": 1.0,
"delta": 0.465,
"percent_delta": 0.8692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0,
"delta": 0.53,
"percent_delta": 1.1277,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4123,
"delta": -0.0547,
"percent_delta": -0.1171,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.509,
"after": 1.0,
"delta": 0.491,
"percent_delta": 0.9646,
"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_HR",
"before": 0.11,
"after": 1.0,
"delta": 0.89,
"percent_delta": 8.0909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.36,
"after": 3.0,
"delta": -0.36,
"percent_delta": -0.1071,
"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.140 | - |
| predicted_3B | 0.009 | - |
| predicted_AB | 3.360 | - |
| predicted_AVG | 0.285 | - |
| predicted_BB | 0.105 | - |
| predicted_H | 0.690 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.535 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.467 | - |
| predicted_SO | 0.509 | - |
Final model 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.207 | 0.067 |
| predicted_3B | 0.013 | 0.004 |
| predicted_AB | 5.503 | 2.143 |
| predicted_AVG | 0.286 | 0.001 |
| predicted_BB | 0.162 | 0.057 |
| predicted_H | 1.424 | 0.734 |
| predicted_HBP | 0.085 | - |
| predicted_HR | 0.181 | 0.071 |
| predicted_OBP | 0.310 | -0.001 |
| predicted_R | 0.765 | 0.230 |
| predicted_RBI | 0.928 | 0.458 |
| predicted_SLG | 0.449 | -0.018 |
| predicted_SO | 1.040 | 0.531 |
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.207 | 0.000 |
| predicted_3B | 0.013 | 0.000 |
| predicted_AB | 5.503 | 0.000 |
| predicted_AVG | 0.268 | -0.018 |
| predicted_BB | 0.165 | 0.004 |
| predicted_H | 1.472 | 0.048 |
| predicted_HBP | 0.085 | 0.000 |
| predicted_HR | 0.188 | 0.007 |
| predicted_OBP | 0.289 | -0.022 |
| predicted_R | 0.814 | 0.048 |
| predicted_RBI | 0.987 | 0.059 |
| predicted_SLG | 0.412 | -0.037 |
| predicted_SO | 1.017 | -0.023 |
AB rounded to 6 (raw=5.50), rates preserved: AVG=0.267 HR/AB=0.034
| 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.207 |
| predicted_3B | 0.000 | -0.013 |
| predicted_AB | 6.000 | 0.497 |
| predicted_AVG | 0.333 | 0.066 |
| predicted_BB | 0.000 | -0.165 |
| predicted_H | 2.000 | 0.528 |
| predicted_HR | 0.000 | -0.188 |
| predicted_OBP | 0.333 | 0.044 |
| predicted_R | 1.000 | 0.186 |
| predicted_RBI | 1.000 | 0.013 |
| predicted_SLG | 0.333 | -0.079 |
| predicted_SO | 1.000 | -0.017 |
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 | 1.000 | 1.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 | 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 | - | 15.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 7.000 | 0.0667 | 0.0667 | 0.0667 | 0.0667 | 0.0000 | 0.1333 | 0.0000 | 0.4667 |
| last_10 | 0.20 | 4 | - | 39.000 | 7.000 | 1.000 | 0.000 | 0.000 | 6.000 | 2.000 | 0.000 | 11.000 | 0.1795 | 0.1795 | 0.2051 | 0.1795 | 0.0000 | 0.1538 | 0.0000 | 0.2821 |
| season | 0.60 | 41 | - | 383.000 | 131.000 | 16.000 | 1.000 | 16.000 | 77.000 | 61.000 | 12.000 | 58.000 | 0.3420 | 0.3663 | 0.5144 | 0.3420 | 0.0418 | 0.2010 | 0.0313 | 0.1514 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2950 |
| predicted_3B | 0.0180 |
| predicted_AB | 8.3450 |
| predicted_AVG | 0.2872 |
| predicted_BB | 0.2370 |
| predicted_H | 2.3970 |
| predicted_HBP | 0.0850 |
| predicted_HR | 0.2760 |
| predicted_OBP | 0.3095 |
| predicted_R | 1.0710 |
| predicted_RBI | 1.5350 |
| predicted_SLG | 0.4261 |
| predicted_SO | 1.7440 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1400 | 0.2950 | 0.2066 | model_form_blend |
| predicted_3B | 0.0090 | 0.0180 | 0.0129 | model_form_blend |
| predicted_AB | 3.3600 | 8.3450 | 5.5025 | model_form_blend |
| predicted_AVG | 0.2850 | 0.2872 | 0.2859 | model_form_blend |
| predicted_BB | 0.1050 | 0.2370 | 0.1617 | model_form_blend |
| predicted_H | 0.6900 | 2.3970 | 1.4236 | model_form_blend |
| predicted_HBP | - | 0.0850 | 0.0850 | form_only |
| predicted_HR | 0.1100 | 0.2760 | 0.1813 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3095 | 0.3104 | model_form_blend |
| predicted_R | 0.5350 | 1.0710 | 0.7654 | model_form_blend |
| predicted_RBI | 0.4700 | 1.5350 | 0.9277 | model_form_blend |
| predicted_SLG | 0.4670 | 0.4261 | 0.4494 | model_form_blend |
| predicted_SO | 0.5090 | 1.7440 | 1.0398 | 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 | 116 |
| Season rows before report date | 116 |
| Report year | 2026 |
| Profile rows used | 114 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.342 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| 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 | 20260526_ATL@BOS |
| game_type | ph |
| mlbID | 642086 |
| note | Grounded out for León in the 6th. |
| playerID | 642086 |
| playerName | Dominic Smith |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 3.4 |
| sl_woba | 0.374 |
| sl_xwoba | 0.365 |
| sl_xba | 0.306 |
| sl_xslg | 0.503 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 16.5 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 55.2 |
| at_bat_number | 47.0 |
| ab_pitcher | 669711.0 |
| ab_pitcher_name | Weissert, Greg |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 671739.0 |
| ab_on_3b_start | 642201.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Dominic Smith grounds out to first baseman Willson Contreras. Eli White scores. Michael Harris II to 3rd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 73.2 |
| ab_launch_angle_last | -27.0 |
| ab_hit_distance_last | 3.0 |
| ab_estimated_ba_last | 0.055 |
| ab_estimated_woba_last | 0.052 |
| ab_estimated_slg_last | 0.058 |
| 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 | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 85.0 |
| ab_release_spin_rate_avg | 2027.6666666666667 |
| ab_effective_speed_avg | 85.06666666666666 |
| ab_launch_speed_avg | 73.2 |
| ab_launch_angle_avg | -27.0 |
| ab_delta_run_exp_avg | -0.084 |
| ab_delta_home_win_exp_avg | -0.0059999999999999 |
| ab_delta_pitcher_run_exp_avg | 0.084 |
| ab_bat_speed_avg | 70.0 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 73.2 |
| ab_hit_distance_sc_max | 3.0 |
| ab_release_speed_max | 87.1 |
| ab_release_spin_rate_max | 2907.0 |
| ab_release_speed_min | 82.5 |
| ab_release_spin_rate_min | 1503.0 |
| ab_delta_run_exp_sum | -0.252 |
| ab_delta_home_win_exp_sum | -0.018 |
| ab_delta_pitcher_run_exp_sum | 0.252 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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.353 | 2.000 | 0.647 | 1.000 |
| predicted_AVG | 0.242 | 0.000 | 0.333 | Hitting_AVG | 0.100 | 0.000 | -0.100 | 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.500 | 0.000 | 1.000 | Hitting_H | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.242 | 0.000 | 0.333 | Hitting_OBP | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_R | 0.000 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.297 | 0.000 | 0.333 | Hitting_SLG | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_SO | 0.750 | 2.000 | 1.000 | Hitting_SO | 0.706 | 0.000 | 1.294 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.7500 -> 2.0000 (boost 1.2500, worse) |
| Biggest Deboost | predicted_H: 0.5000 -> 0.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 | 6 | 3 | 3 | 2 | 4 | predicted_AB: 2.5000 -> 2.9967 (boost 0.4967, better) | predicted_AVG: 0.2420 -> 0.2115 (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_AVG: 0.2115 -> 0.1833 (deboost -0.0282, 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 | 1 | 3 | predicted_H: 0.5492 -> 1.0000 (boost 0.4508, better) | predicted_RBI: 0.2576 -> 0.0000 (deboost -0.2576, worse) | AB rounded to 3 (raw=3.00), rates preserved: AVG=0.183 HR/AB=0.021 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.0756 -> 0.0000 (deboost -0.0756, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1833 -> 0.3330 (boost 0.1497, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | 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.1833 (deboost -0.1497, worse) | 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.242,
"predicted_BB": 0.0,
"predicted_H": 0.5,
"predicted_HR": 0.06,
"predicted_OBP": 0.242,
"predicted_R": 0.0,
"predicted_RBI": 0.25,
"predicted_SLG": 0.297,
"predicted_SO": 0.75
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.0273,
"predicted_3B": 0.0023,
"predicted_AB": 2.9967,
"predicted_AVG": 0.2115,
"predicted_BB": 0.0435,
"predicted_H": 0.5312,
"predicted_HBP": 0.016,
"predicted_HR": 0.0594,
"predicted_OBP": 0.2203,
"predicted_R": 0.0711,
"predicted_RBI": 0.2422,
"predicted_SLG": 0.2705,
"predicted_SO": 0.8604
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0273,
"delta": 0.0273,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0023,
"delta": 0.0023,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 2.9967,
"delta": 0.4967,
"percent_delta": 0.1987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2115,
"delta": -0.0305,
"percent_delta": -0.126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0435,
"delta": 0.0435,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5,
"after": 0.5312,
"delta": 0.0312,
"percent_delta": 0.0624,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0594,
"delta": -0.0006,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.242,
"after": 0.2203,
"delta": -0.0217,
"percent_delta": -0.0897,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0711,
"delta": 0.0711,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.2422,
"delta": -0.0078,
"percent_delta": -0.0312,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.2705,
"delta": -0.0265,
"percent_delta": -0.0892,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 0.8604,
"delta": 0.1104,
"percent_delta": 0.1472,
"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.9967,
"delta": 0.4967,
"percent_delta": 0.1987,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2115,
"delta": -0.0305,
"percent_delta": -0.126,
"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": 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.0273,
"predicted_3B": 0.0023,
"predicted_AB": 2.9967,
"predicted_AVG": 0.1833,
"predicted_BB": 0.0445,
"predicted_H": 0.5492,
"predicted_HBP": 0.016,
"predicted_HR": 0.0616,
"predicted_OBP": 0.1952,
"predicted_R": 0.0756,
"predicted_RBI": 0.2576,
"predicted_SLG": 0.2556,
"predicted_SO": 0.8413
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0273,
"after": 0.0273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9967,
"after": 2.9967,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2115,
"after": 0.1833,
"delta": -0.0282,
"percent_delta": -0.1333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0435,
"after": 0.0445,
"delta": 0.001,
"percent_delta": 0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5312,
"after": 0.5492,
"delta": 0.018,
"percent_delta": 0.0339,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.016,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0594,
"after": 0.0616,
"delta": 0.0022,
"percent_delta": 0.037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2203,
"after": 0.1952,
"delta": -0.0251,
"percent_delta": -0.1139,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0711,
"after": 0.0756,
"delta": 0.0045,
"percent_delta": 0.0633,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2422,
"after": 0.2576,
"delta": 0.0154,
"percent_delta": 0.0636,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2705,
"after": 0.2556,
"delta": -0.0149,
"percent_delta": -0.0551,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8604,
"after": 0.8413,
"delta": -0.0191,
"percent_delta": -0.0222,
"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.2115,
"after": 0.1833,
"delta": -0.0282,
"percent_delta": -0.1333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.00), rates preserved: AVG=0.183 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0273,
"after": 0.0,
"delta": -0.0273,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0023,
"after": 0.0,
"delta": -0.0023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.9967,
"after": 3.0,
"delta": 0.0033,
"percent_delta": 0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0445,
"after": 0.0,
"delta": -0.0445,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.5492,
"after": 1.0,
"delta": 0.4508,
"percent_delta": 0.8208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.016,
"after": 0.0,
"delta": -0.016,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0616,
"after": 0.0,
"delta": -0.0616,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2576,
"after": 0.0,
"delta": -0.2576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8413,
"after": 1.0,
"delta": 0.1587,
"percent_delta": 0.1886,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.5492,
"after": 1.0,
"delta": 0.4508,
"percent_delta": 0.8208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.2576,
"after": 0.0,
"delta": -0.2576,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0756,
"after": 0.0,
"delta": -0.0756,
"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.0756,
"after": 0.0,
"delta": -0.0756,
"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.1833,
"after": 0.333,
"delta": 0.1497,
"percent_delta": 0.8167,
"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.1952,
"after": 0.333,
"delta": 0.1378,
"percent_delta": 0.7059,
"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.2556,
"after": 0.333,
"delta": 0.0774,
"percent_delta": 0.3028,
"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.1833,
"after": 0.333,
"delta": 0.1497,
"percent_delta": 0.8167,
"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": 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_CS",
"before": 0.0,
"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": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"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.1833,
"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.1952,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2556,
"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.333,
"after": 0.1833,
"delta": -0.1497,
"percent_delta": -0.4497,
"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.1952,
"delta": -0.1378,
"percent_delta": -0.4138,
"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.2556,
"delta": -0.0774,
"percent_delta": -0.2324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.1833,
"delta": -0.1497,
"percent_delta": -0.4497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.5,
"after": 3.0,
"delta": 0.5,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.1833,
"delta": -0.0587,
"percent_delta": -0.2426,
"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.5,
"after": 0.0,
"delta": -0.5,
"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.242,
"after": 0.1952,
"delta": -0.0468,
"percent_delta": -0.1934,
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.297,
"after": 0.2556,
"delta": -0.0414,
"percent_delta": -0.1394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.75,
"after": 2.0,
"delta": 1.25,
"percent_delta": 1.6667,
"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.75,
"after": 2.0,
"delta": 1.25,
"percent_delta": 1.6667,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.500 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.242 | - |
| predicted_R | 0.000 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.297 | - |
| predicted_SO | 0.750 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.027 | 0.027 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 2.997 | 0.497 |
| predicted_AVG | 0.211 | -0.030 |
| predicted_BB | 0.043 | 0.043 |
| predicted_H | 0.531 | 0.031 |
| predicted_HBP | 0.016 | - |
| predicted_HR | 0.059 | -0.001 |
| predicted_OBP | 0.220 | -0.022 |
| predicted_R | 0.071 | 0.071 |
| predicted_RBI | 0.242 | -0.008 |
| predicted_SLG | 0.271 | -0.026 |
| predicted_SO | 0.860 | 0.110 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.027 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 2.997 | 0.000 |
| predicted_AVG | 0.183 | -0.028 |
| predicted_BB | 0.044 | 0.001 |
| predicted_H | 0.549 | 0.018 |
| predicted_HBP | 0.016 | 0.000 |
| predicted_HR | 0.062 | 0.002 |
| predicted_OBP | 0.195 | -0.025 |
| predicted_R | 0.076 | 0.005 |
| predicted_RBI | 0.258 | 0.015 |
| predicted_SLG | 0.256 | -0.015 |
| predicted_SO | 0.841 | -0.019 |
AB rounded to 3 (raw=3.00), rates preserved: AVG=0.183 HR/AB=0.021
| 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.027 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 3.000 | 0.003 |
| predicted_AVG | 0.333 | 0.150 |
| predicted_BB | 0.000 | -0.044 |
| predicted_H | 1.000 | 0.451 |
| predicted_HR | 0.000 | -0.062 |
| predicted_OBP | 0.333 | 0.138 |
| predicted_R | 0.000 | -0.076 |
| predicted_RBI | 0.000 | -0.258 |
| predicted_SLG | 0.333 | 0.077 |
| predicted_SO | 1.000 | 0.159 |
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 | 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 | - | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2222 |
| last_10 | 0.20 | 6 | - | 23.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.4348 |
| season | 0.60 | 9 | - | 40.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 12.000 | 0.1000 | 0.1000 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0840 |
| predicted_3B | 0.0070 |
| predicted_AB | 4.0300 |
| predicted_AVG | 0.1479 |
| predicted_BB | 0.1340 |
| predicted_H | 0.5960 |
| predicted_HBP | 0.0160 |
| predicted_HR | 0.0580 |
| predicted_OBP | 0.1751 |
| predicted_R | 0.2190 |
| predicted_RBI | 0.2260 |
| predicted_SLG | 0.2155 |
| predicted_SO | 1.0900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0840 | 0.0273 | model_form_blend |
| predicted_3B | 0.0000 | 0.0070 | 0.0023 | model_form_blend |
| predicted_AB | 2.5000 | 4.0300 | 2.9967 | model_form_blend |
| predicted_AVG | 0.2420 | 0.1479 | 0.2115 | model_form_blend |
| predicted_BB | 0.0000 | 0.1340 | 0.0435 | model_form_blend |
| predicted_H | 0.5000 | 0.5960 | 0.5312 | model_form_blend |
| predicted_HBP | - | 0.0160 | 0.0160 | form_only |
| predicted_HR | 0.0600 | 0.0580 | 0.0594 | model_form_blend |
| predicted_OBP | 0.2420 | 0.1751 | 0.2203 | model_form_blend |
| predicted_R | 0.0000 | 0.2190 | 0.0711 | model_form_blend |
| predicted_RBI | 0.2500 | 0.2260 | 0.2422 | model_form_blend |
| predicted_SLG | 0.2970 | 0.2155 | 0.2705 | model_form_blend |
| predicted_SO | 0.7500 | 1.0900 | 0.8604 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 17 |
| 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.1 |
| 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 | 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 | C |
| gameID | 20260526_ATL@BOS |
| game_type | full |
| mlbID | 506702 |
| playerID | 506702 |
| playerName | Sandy León |
| pos | C |
| started | True |
| startingPosition | C |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.09 |
| sl_xwoba | 0.13 |
| sl_xba | 0.132 |
| sl_xslg | 0.168 |
| sl_sweet_spot_percent | 21.4 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 14.3 |
| sl_exit_velocity_avg | 82.2 |
| sl_launch_angle_avg | 23.1 |
| sl_whiff_percent | 24.4 |
| sl_swing_percent | 59.2 |
| at_bat_number | 34.0 |
| ab_pitcher | 624133.0 |
| ab_pitcher_name | Suarez, Ranger |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 5.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 | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Sandy León pops out to first baseman Willson Contreras. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 65.5 |
| ab_launch_angle_last | 65.0 |
| ab_hit_distance_last | 123.0 |
| ab_estimated_ba_last | 0.003 |
| ab_estimated_woba_last | 0.003 |
| ab_estimated_slg_last | 0.003 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 90.7 |
| ab_release_spin_rate_avg | 2040.0 |
| ab_effective_speed_avg | 90.8 |
| ab_launch_speed_avg | 65.5 |
| ab_launch_angle_avg | 65.0 |
| ab_delta_run_exp_avg | -0.255 |
| ab_delta_home_win_exp_avg | 0.029 |
| ab_delta_pitcher_run_exp_avg | 0.255 |
| ab_bat_speed_avg | 66.4 |
| ab_swing_length_avg | 6.3 |
| ab_launch_speed_max | 65.5 |
| ab_hit_distance_sc_max | 123.0 |
| ab_release_speed_max | 90.7 |
| ab_release_spin_rate_max | 2040.0 |
| ab_release_speed_min | 90.7 |
| ab_release_spin_rate_min | 2040.0 |
| ab_delta_run_exp_sum | -0.255 |
| ab_delta_home_win_exp_sum | 0.029 |
| ab_delta_pitcher_run_exp_sum | 0.255 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_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 | 1.300 | 1.000 | -1.300 | -1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 4.000 | 4.000 | -2.000 | -2.000 |
| predicted_IP | 6.200 | 6.200 | 6.200 | Pitching_InningsPitched | 6.200 | 7.000 | 0.000 | -0.800 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 7.200 | 8.000 | -1.200 | -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: 4.0000 -> 6.0000 (boost 2.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: 4.0000 -> 8.0000 (boost 4.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: 8.0000 -> 6.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": 0.0,
"predicted_H": 2.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": 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": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 8.0,
"delta": 4.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 4.0,
"after": 8.0,
"delta": 4.0,
"percent_delta": 1.0,
"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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 6.2,
"predicted_R": 0.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": 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": 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": 6.0,
"delta": -2.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 8.0,
"after": 6.0,
"delta": -2.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 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": 6.6667,
"after": 6.2,
"delta": -0.4667,
"percent_delta": -0.07,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 6.0,
"delta": 2.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": 4.0,
"after": 6.0,
"delta": 2.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 | 1.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.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 | 0.000 | 0.000 |
| predicted_H | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.200 | -0.467 |
| predicted_SO | 8.000 | 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 | 33.000 | 4.000 | 18.000 | 7.000 | 43.000 | 1.000 | 1.0909 | 0.7576 | 0.1212 | 0.5454 | 0.2121 | 1.3030 | 0.0303 |
| last_10 | 0.35 | 10 | 62.000 | 13.000 | 40.000 | 14.000 | 72.000 | 6.000 | 1.8871 | 0.8710 | 0.2097 | 0.6452 | 0.2258 | 1.1613 | 0.0968 |
| season | 0.20 | 10 | 62.000 | 13.000 | 40.000 | 14.000 | 72.000 | 6.000 | 1.8871 | 0.8710 | 0.2097 | 0.6452 | 0.2258 | 1.1613 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7640 |
| predicted_ER | 1.7320 |
| predicted_ERA | 2.3731 |
| predicted_H | 4.6450 |
| predicted_HR | 0.5470 |
| predicted_IP | 6.2000 |
| predicted_SO | 7.5030 |
| predicted_WHIP | 0.9755 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.7640 | 1.3890 | model_form_blend |
| predicted_ER | 0.0000 | 1.7320 | 0.8819 | model_form_blend |
| predicted_ERA | - | 2.3731 | 2.3731 | form_only |
| predicted_H | 2.0000 | 4.6450 | 3.3468 | model_form_blend |
| predicted_HR | 0.0000 | 0.5470 | 0.2785 | model_form_blend |
| predicted_IP | 6.2000 | 6.2000 | 6.2000 | model_form_blend |
| predicted_SO | 4.0000 | 7.5030 | 5.7837 | model_form_blend |
| predicted_WHIP | - | 0.9755 | 0.9755 | 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 6 |
| HR | 0 |
| BF | 24 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.89 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 96 |
| Pitching_R | 1 |
| Pitching_SO | 8 |
| Pitching_Strikes | 67 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260520_ATL@MIA |
| game_type | full |
| mlbID | 519242 |
| playerID | 519242 |
| playerName | Chris Sale |
| pos | P |
| started | True |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-20 |
| sl_k_percent | 29.9 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.241 |
| sl_xwoba | 0.279 |
| sl_sweet_spot_percent | 34.0 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 29.4 |
| sl_swing_percent | 50.6 |
| sl_avg_best_speed | 75.792164533 |
| sl_avg_hyper_speed | 93.076212467 |
| 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.188 | 0.000 | 1.812 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.125 | 2.000 | -0.125 | -2.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.750 | 4.000 | -0.750 | -4.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.012 | 1.000 | -0.012 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.250 | 1.000 | -1.250 | -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": "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": 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": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": 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 | 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 | 5.000 | 2.000 | 6.000 | 2.000 | 5.000 | 0.000 | 3.6000 | 1.6000 | 0.4000 | 1.2000 | 0.4000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 9.000 | 3.000 | 13.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 0.9000 | 0.3000 | 1.3000 | 0.0000 |
| season | 0.20 | 16 | 16.200 | 2.000 | 12.000 | 3.000 | 20.000 | 0.000 | 1.0800 | 0.9000 | 0.1200 | 0.7200 | 0.1800 | 1.2000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3500 |
| predicted_ER | 0.3930 |
| predicted_ERA | 3.5370 |
| predicted_H | 0.9650 |
| predicted_HR | 0.0790 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0240 |
| predicted_WHIP | 1.3152 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.3500 | 1.3481 | model_form_blend |
| predicted_ER | 0.0000 | 0.3930 | 0.1553 | model_form_blend |
| predicted_ERA | - | 3.5370 | 3.5370 | form_only |
| predicted_H | 0.0000 | 0.9650 | 0.3813 | model_form_blend |
| predicted_HR | 0.0000 | 0.0790 | 0.0312 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0240 | 1.0095 | model_form_blend |
| predicted_WHIP | - | 1.3152 | 1.3152 | 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 | 16 |
| 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 | 0 |
| 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 | 7 |
| Pitching_ER | 2 |
| Pitching_ERA | 1.08 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 25 |
| Pitching_R | 2 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260526_ATL@BOS |
| game_type | full |
| mlbID | 628452 |
| playerID | 628452 |
| playerName | Raisel Iglesias |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 31.7 |
| sl_bb_percent | 4.8 |
| sl_woba | 0.223 |
| sl_xwoba | 0.22 |
| sl_sweet_spot_percent | 25.0 |
| sl_barrel_batted_rate | 2.5 |
| sl_hard_hit_percent | 32.5 |
| sl_whiff_percent | 36.6 |
| sl_swing_percent | 56.0 |
| sv_pitch_count | 25.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.328 |
| sv_release_spin_rate | 2137.48 |
| sv_effective_speed | 91.3 |
| sv_launch_speed | 86.54444444444444 |
| sv_launch_angle | 8.777777777777779 |
| sv_woba_value | 3.95 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | 1.203 |
| sv_delta_home_win_exp | -0.0429999999999999 |
| sl_avg_best_speed | 78.3351895 |
| sl_avg_hyper_speed | 92.74599275 |
| 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.087 | 0.000 | -0.087 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.652 | 0.000 | -0.652 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.974 | 1.000 | 0.026 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.913 | 1.000 | -0.913 | -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": "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": 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 | 2.000 | 1.000 | 3.000 | 1.000 | 1.6875 | 0.5625 | 0.1875 | 0.3750 | 0.1875 | 0.5625 | 0.1875 |
| last_10 | 0.35 | 10 | 10.200 | 1.000 | 6.000 | 3.000 | 8.000 | 1.000 | 0.8438 | 0.8438 | 0.0938 | 0.5625 | 0.2812 | 0.7500 | 0.0938 |
| season | 0.20 | 23 | 23.100 | 2.000 | 15.000 | 5.000 | 21.000 | 1.000 | 0.7714 | 0.8571 | 0.0857 | 0.6429 | 0.2143 | 0.9000 | 0.0429 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3000 |
| predicted_ER | 0.3100 |
| predicted_ERA | 2.7878 |
| predicted_H | 0.7280 |
| predicted_HR | 0.1290 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8250 |
| predicted_WHIP | 1.0283 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3000 | 0.1290 | model_form_blend |
| predicted_ER | 0.0000 | 0.3100 | 0.1333 | model_form_blend |
| predicted_ERA | - | 2.7878 | 2.7878 | form_only |
| predicted_H | 0.0000 | 0.7280 | 0.3130 | model_form_blend |
| predicted_HR | 0.0000 | 0.1290 | 0.0555 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8250 | 0.3548 | model_form_blend |
| predicted_WHIP | - | 1.0283 | 1.0283 | 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 | 0 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.77 |
| 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 | 9 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260526_ATL@BOS |
| game_type | full |
| mlbID | 663158 |
| playerID | 663158 |
| playerName | Robert Suarez |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.207 |
| sl_xwoba | 0.272 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 29.0 |
| sl_whiff_percent | 26.9 |
| sl_swing_percent | 52.4 |
| sv_pitch_count | 9.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 96.55555555555556 |
| sv_release_spin_rate | 2236.222222222222 |
| sv_effective_speed | 97.53333333333332 |
| sv_launch_speed | 81.95 |
| sv_launch_angle | 38.0 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.754 |
| sv_delta_home_win_exp | -0.053 |
| sl_avg_best_speed | 71.841153548 |
| sl_avg_hyper_speed | 92.434006066 |
| 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.115 | 0.000 | -0.115 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.154 | 1.000 | -0.154 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.500 | 1.000 | 0.500 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.888 | 1.100 | -0.788 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.154 | 1.000 | -1.154 | -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: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "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": 0.0,
"predicted_H": 1.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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 1.0,
"after": 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.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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 1.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 | 5.000 | 2.000 | 6.000 | 1.000 | 5.000 | 1.000 | 3.6000 | 1.4000 | 0.4000 | 1.2000 | 0.2000 | 1.0000 | 0.2000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 7.000 | 1.000 | 12.000 | 1.000 | 1.8000 | 0.8000 | 0.2000 | 0.7000 | 0.1000 | 1.2000 | 0.1000 |
| season | 0.20 | 26 | 25.200 | 4.000 | 13.000 | 3.000 | 30.000 | 1.000 | 1.4026 | 0.6234 | 0.1558 | 0.5065 | 0.1169 | 1.1688 | 0.0390 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1730 |
| predicted_ER | 0.2510 |
| predicted_ERA | 3.3805 |
| predicted_H | 0.6120 |
| predicted_HR | 0.0880 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6850 |
| predicted_WHIP | 1.1725 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1730 | 0.0761 | model_form_blend |
| predicted_ER | 0.0000 | 0.2510 | 0.1105 | model_form_blend |
| predicted_ERA | - | 3.3805 | 3.3805 | form_only |
| predicted_H | 1.0000 | 0.6120 | 0.8293 | model_form_blend |
| predicted_HR | 0.0000 | 0.0880 | 0.0387 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6850 | 0.8614 | model_form_blend |
| predicted_WHIP | - | 1.1725 | 1.1725 | 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 | 0 |
| SO | 0 |
| HR | 0 |
| BF | 2 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.40 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 15 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260526_ATL@BOS |
| game_type | full |
| mlbID | 669276 |
| playerID | 669276 |
| playerName | Dylan Lee |
| pos | P |
| started | False |
| startingPosition | P |
| team | ATL |
| teamID | 2 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 32.3 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.192 |
| sl_xwoba | 0.209 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 5.0 |
| sl_hard_hit_percent | 31.7 |
| sl_whiff_percent | 37.9 |
| sl_swing_percent | 54.9 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 87.03636363636363 |
| sv_release_spin_rate | 2109.0 |
| sv_effective_speed | 87.46818181818182 |
| sv_launch_speed | 81.77499999999999 |
| sv_launch_angle | 18.0 |
| sv_woba_value | 2.0 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.5469999999999999 |
| sv_delta_home_win_exp | -0.0189999999999999 |
| sl_avg_best_speed | 76.085543333 |
| sl_avg_hyper_speed | 92.774475085 |
| Field | Value |
|---|---|
| Pitcher | Payton Tolle |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.4072 |
| ESPN Rank | 158 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1717 |
| Avg Velo | 92.7537 |
| Avg Spin | 2236.3055 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 6 |
| Season ERA | 2.4545 |
| Season WHIP | 0.8182 |
| Role Avg IP | 6.1110 |
| Recent Avg IP | 6.1330 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"opponent": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"edges": {
"quality_edge": -0.5327,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.1555,
"defense_strength": 0.0758,
"opponent_defense_weakness": -0.3126,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9747,
"run_prevention": 1.0439,
"strikeout": 0.9716
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "801139",
"profile": {
"available": true,
"pitcher_id": "801139",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 114.0,
"k_percent": 27.9,
"bb_percent": 6.4,
"woba": 0.226,
"xwoba": 0.237,
"sweet_spot_percent": 24.2,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 36.3,
"avg_best_speed": 76.5257,
"avg_hyper_speed": 93.7221,
"whiff_percent": 26.0,
"swing_percent": 53.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.3959,
"command_and_miss": 0.4957,
"regression_edge": -0.3143,
"xwoba_edge": 2.0571,
"barrel_edge": 0.1556,
"hard_hit_edge": 0.3143,
"whiff_edge": 0.0143,
"bb_edge": 0.75,
"pitch_design_score": 0.1717
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "801139",
"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": 92.75371407790132,
"release_spin_rate": 2236.3055033515184,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.75371407790132,
"release_spin_rate": 2236.3055033515184,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7537,
"release_spin_rate": 2236.3055,
"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.1717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2264,
"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.4072,
"sample_weight": 0.456,
"run_prevention_factor": 0.9654,
"strikeout_factor": 1.0141,
"walk_factor": 0.9726,
"homer_factor": 0.9605,
"woba_minus_xwoba": -0.011,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "801139",
"espn_id": 4966140,
"player_name": "Payton Tolle",
"team": "BOS",
"role": "pitcher",
"espn_rank": 158,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 158,
"gp_value": 6.0,
"gp_rank": 418,
"gs_value": 6.0,
"gs_rank": 137,
"qs_value": 4.0,
"qs_rank": 48,
"era_value": 2.4545,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 36.2,
"ip_rank": 139,
"h_value": 21.0,
"h_rank": 235,
"er_value": 10.0,
"er_rank": 238,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 39.0,
"k_rank": 115,
"k_per_9_value": 9.572727,
"k_per_9_rank": 22,
"whip_value": 0.8181,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9842,
"adjusted": 2
},
"predicted_H": {
"original": 3.0,
"factor": 0.9842,
"adjusted": 3
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9875,
"adjusted": 2
},
"predicted_HR": {
"original": 0.0,
"factor": 0.982,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0064,
"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": 36.2,
"ER": 10,
"H": 21,
"BB": 9,
"SO": 39,
"HR": 3,
"ERA": 2.454545454545454,
"WHIP": 0.8181818181818181,
"K9": 9.572727272727272,
"HR9": 0.7363636363636362,
"games_pitched": 6,
"quality_starts": 4,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-05-22T00:00:00"
}{
"available": true,
"pitcher_id": "801139",
"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": 92.75371407790132,
"release_spin_rate": 2236.3055033515184,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.75371407790132,
"release_spin_rate": 2236.3055033515184,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7537,
"release_spin_rate": 2236.3055,
"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.1717,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2264,
"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.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"role": "pitcher",
"player_id": "801139",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.2,
"ER": 9.0,
"R": 13.0,
"H": 18.0,
"BB": 8.0,
"SO": 28.0,
"HR": 2.0,
"BF": 118.0,
"Pitches": 402.0
},
"per_game": {
"IP": 6.0,
"ER": 1.8,
"R": 2.6,
"H": 3.6,
"BB": 1.6,
"SO": 5.6,
"HR": 0.4,
"BF": 23.6,
"Pitches": 80.4
},
"rates": {
"ERA": 2.6413,
"WHIP": 0.8478,
"ER_per_IP": 0.29348,
"H_per_IP": 0.58696,
"BB_per_IP": 0.26087,
"SO_per_IP": 0.91304,
"HR_per_IP": 0.06522
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 36.2,
"ER": 10.0,
"R": 14.0,
"H": 21.0,
"BB": 9.0,
"SO": 39.0,
"HR": 3.0,
"BF": 140.0,
"Pitches": 495.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6667,
"R": 2.3333,
"H": 3.5,
"BB": 1.5,
"SO": 6.5,
"HR": 0.5,
"BF": 23.3333,
"Pitches": 82.5
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.8182,
"ER_per_IP": 0.27273,
"H_per_IP": 0.57273,
"BB_per_IP": 0.24545,
"SO_per_IP": 1.06364,
"HR_per_IP": 0.08182
}
},
"season": {
"games": 6,
"totals": {
"IP": 36.2,
"ER": 10.0,
"R": 14.0,
"H": 21.0,
"BB": 9.0,
"SO": 39.0,
"HR": 3.0,
"BF": 140.0,
"Pitches": 495.0
},
"per_game": {
"IP": 6.0,
"ER": 1.6667,
"R": 2.3333,
"H": 3.5,
"BB": 1.5,
"SO": 6.5,
"HR": 0.5,
"BF": 23.3333,
"Pitches": 82.5
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.8182,
"ER_per_IP": 0.27273,
"H_per_IP": 0.57273,
"BB_per_IP": 0.24545,
"SO_per_IP": 1.06364,
"HR_per_IP": 0.08182
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.236,
"predicted_H": 4.486,
"predicted_BB": 1.854,
"predicted_SO": 5.629,
"predicted_HR": 0.578,
"predicted_ERA": 3.3547,
"predicted_WHIP": 1.0567
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.542,
"form_weight": 0.458,
"form_reliability": 0.5455,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5455,
"prior_weight": 0.4545
},
"applied_metrics": {
"predicted_IP": {
"model": 6.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 4.0,
"form": 2.236,
"final": 3.1921,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 4.486,
"final": 4.7646,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.854,
"final": 1.3911,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 5.629,
"final": 5.2881,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.578,
"final": 0.8067,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3547,
"final": 3.3547,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0567,
"final": 1.0567,
"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.1744 |
| ESPN Rank | 68 |
| 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 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 0.5094 |
| Season WHIP | 0.8491 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"opponent": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"edges": {
"quality_edge": -0.5327,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.1555,
"defense_strength": 0.0758,
"opponent_defense_weakness": -0.3126,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9747,
"run_prevention": 1.0439,
"strikeout": 0.9716
},
"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": 33.8,
"bb_percent": 10.3,
"woba": 0.211,
"xwoba": 0.281,
"sweet_spot_percent": 21.6,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 45.9,
"avg_best_speed": 77.9332,
"avg_hyper_speed": 95.9443,
"whiff_percent": 33.1,
"swing_percent": 49.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.5288,
"command_and_miss": 1.035,
"regression_edge": -2.0,
"xwoba_edge": 0.8,
"barrel_edge": -1.3778,
"hard_hit_edge": -1.0571,
"whiff_edge": 1.0286,
"bb_edge": -0.225,
"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.1744,
"sample_weight": 0.45,
"run_prevention_factor": 0.9852,
"strikeout_factor": 1.0473,
"walk_factor": 1.0081,
"homer_factor": 1.0578,
"woba_minus_xwoba": -0.07,
"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": 68,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 68,
"gp_value": 18.0,
"gp_rank": 143,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 0.5094,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 12.0,
"sv_rank": 6,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 17.2,
"ip_rank": 348,
"h_value": 8.0,
"h_rank": 453,
"er_value": 1.0,
"er_rank": 561,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 7.0,
"bb_rank": 328,
"k_value": 23.0,
"k_rank": 243,
"k_per_9_value": 11.716981,
"k_per_9_rank": 18,
"whip_value": 0.849,
"whip_rank": null,
"war_value": 0.99,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.026,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0213,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 10.0,
"ER": 0,
"H": 3,
"BB": 4,
"SO": 15,
"HR": 0,
"ERA": 0.0,
"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-05-20T00: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.485,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4107,
"prior_weight": 0.5893
},
"role": "pitcher",
"player_id": "547973",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 4.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 82.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.2,
"BB": 0.8,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.4
},
"rates": {
"ERA": 0.0,
"WHIP": 1.0,
"ER_per_IP": 0.0,
"H_per_IP": 0.2,
"BB_per_IP": 0.8,
"SO_per_IP": 1.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 0.0,
"R": 0.0,
"H": 3.0,
"BB": 4.0,
"SO": 15.0,
"HR": 0.0,
"BF": 38.0,
"Pitches": 153.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.3,
"BB": 0.4,
"SO": 1.5,
"HR": 0.0,
"BF": 3.8,
"Pitches": 15.3
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7,
"ER_per_IP": 0.0,
"H_per_IP": 0.3,
"BB_per_IP": 0.4,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"season": {
"games": 18,
"totals": {
"IP": 17.2,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 7.0,
"SO": 23.0,
"HR": 0.0,
"BF": 68.0,
"Pitches": 268.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0556,
"R": 0.0556,
"H": 0.4444,
"BB": 0.3889,
"SO": 1.2778,
"HR": 0.0,
"BF": 3.7778,
"Pitches": 14.8889
},
"rates": {
"ERA": 0.5094,
"WHIP": 0.8491,
"ER_per_IP": 0.0566,
"H_per_IP": 0.45283,
"BB_per_IP": 0.39623,
"SO_per_IP": 1.30189,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.282,
"predicted_H": 0.673,
"predicted_BB": 0.455,
"predicted_SO": 1.138,
"predicted_HR": 0.077,
"predicted_ERA": 2.5412,
"predicted_WHIP": 1.1284
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.599,
"form_weight": 0.401,
"form_reliability": 0.4107,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.485,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4107,
"prior_weight": 0.5893
},
"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.1131,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.673,
"final": 0.2699,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.455,
"final": 0.1825,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.138,
"final": 0.4564,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.0309,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5412,
"final": 2.5412,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1284,
"final": 1.1284,
"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 | Garrett Whitlock |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1219 |
| ESPN Rank | 262 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0305 |
| Avg Velo | 90.2317 |
| Avg Spin | 2109.5857 |
| 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.2034 |
| Season WHIP | 1.1186 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"opponent": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"edges": {
"quality_edge": -0.5327,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.1555,
"defense_strength": 0.0758,
"opponent_defense_weakness": -0.3126,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9747,
"run_prevention": 1.0439,
"strikeout": 0.9716
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676477",
"profile": {
"available": true,
"pitcher_id": "676477",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 77.0,
"k_percent": 30.9,
"bb_percent": 7.4,
"woba": 0.281,
"xwoba": 0.307,
"sweet_spot_percent": 32.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 32.0,
"avg_best_speed": 77.2391,
"avg_hyper_speed": 93.7586,
"whiff_percent": 28.8,
"swing_percent": 53.3
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.2505,
"command_and_miss": 0.7786,
"regression_edge": -0.7429,
"xwoba_edge": 0.0571,
"barrel_edge": -0.1556,
"hard_hit_edge": 0.9286,
"whiff_edge": 0.4143,
"bb_edge": 0.5,
"pitch_design_score": 0.0305
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676477",
"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": 90.23165046341292,
"release_spin_rate": 2109.5857414401735,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.23165046341292,
"release_spin_rate": 2109.5857414401735,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2317,
"release_spin_rate": 2109.5857,
"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.0305,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2176,
"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.1219,
"sample_weight": 0.45,
"run_prevention_factor": 0.9896,
"strikeout_factor": 1.0288,
"walk_factor": 0.982,
"homer_factor": 0.9881,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676477",
"espn_id": 39674,
"player_name": "Garrett Whitlock",
"team": "BOS",
"role": "pitcher",
"espn_rank": 262,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 262,
"gp_value": 20.0,
"gp_rank": 118,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.2033,
"era_rank": null,
"w_value": 3.0,
"w_rank": 68,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 9.0,
"hld_rank": 12,
"ip_value": 19.2,
"ip_rank": 312,
"h_value": 16.0,
"h_rank": 314,
"er_value": 7.0,
"er_rank": 338,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 6.0,
"bb_rank": 371,
"k_value": 25.0,
"k_rank": 217,
"k_per_9_value": 11.440678,
"k_per_9_rank": 18,
"whip_value": 1.1186,
"whip_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9953,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9953,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9919,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9946,
"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": 9.2,
"ER": 4,
"H": 9,
"BB": 1,
"SO": 12,
"HR": 1,
"ERA": 3.724137931034483,
"WHIP": 1.0344827586206897,
"K9": 11.172413793103448,
"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-05-24T00:00:00"
}{
"available": true,
"pitcher_id": "676477",
"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": 90.23165046341292,
"release_spin_rate": 2109.5857414401735,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.23165046341292,
"release_spin_rate": 2109.5857414401735,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2317,
"release_spin_rate": 2109.5857,
"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.0305,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2176,
"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.879,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4369,
"prior_weight": 0.5631
},
"role": "pitcher",
"player_id": "676477",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 55.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 3.2,
"Pitches": 11.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.6923,
"ER_per_IP": 0.23077,
"H_per_IP": 0.69231,
"BB_per_IP": 0.0,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 4.0,
"R": 4.0,
"H": 9.0,
"BB": 1.0,
"SO": 12.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 141.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.9,
"BB": 0.1,
"SO": 1.2,
"HR": 0.1,
"BF": 3.9,
"Pitches": 14.1
},
"rates": {
"ERA": 3.7241,
"WHIP": 1.0345,
"ER_per_IP": 0.41379,
"H_per_IP": 0.93103,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 20,
"totals": {
"IP": 19.2,
"ER": 7.0,
"R": 8.0,
"H": 16.0,
"BB": 6.0,
"SO": 25.0,
"HR": 2.0,
"BF": 81.0,
"Pitches": 319.0
},
"per_game": {
"IP": 1.0,
"ER": 0.35,
"R": 0.4,
"H": 0.8,
"BB": 0.3,
"SO": 1.25,
"HR": 0.1,
"BF": 4.05,
"Pitches": 15.95
},
"rates": {
"ERA": 3.2034,
"WHIP": 1.1186,
"ER_per_IP": 0.35593,
"H_per_IP": 0.81356,
"BB_per_IP": 0.30508,
"SO_per_IP": 1.27119,
"HR_per_IP": 0.10169
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.405,
"predicted_H": 0.881,
"predicted_BB": 0.25,
"predicted_SO": 1.105,
"predicted_HR": 0.099,
"predicted_ERA": 3.6459,
"predicted_WHIP": 1.1309
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5879,
"form_weight": 0.4121,
"form_reliability": 0.4369,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.879,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4369,
"prior_weight": 0.5631
},
"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.1669,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.881,
"final": 0.3631,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.25,
"final": 0.103,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.105,
"final": 1.0433,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.099,
"final": 0.0408,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6459,
"final": 3.6459,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1309,
"final": 1.1309,
"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.2155 |
| ESPN Rank | 474 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1668 |
| Avg Velo | 92.6658 |
| Avg Spin | 2533.7209 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| 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": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"opponent": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"edges": {
"quality_edge": -0.5327,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.1555,
"defense_strength": 0.0758,
"opponent_defense_weakness": -0.3126,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9747,
"run_prevention": 1.0439,
"strikeout": 0.9716
},
"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": 30.0,
"k_percent": 32.4,
"bb_percent": 8.1,
"woba": 0.316,
"xwoba": 0.286,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 36.4,
"avg_best_speed": 76.967,
"avg_hyper_speed": 93.9548,
"whiff_percent": 24.0,
"swing_percent": 50.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.3998,
"command_and_miss": 0.6,
"regression_edge": 0.8571,
"xwoba_edge": 0.6571,
"barrel_edge": 0.6222,
"hard_hit_edge": 0.3,
"whiff_edge": -0.2714,
"bb_edge": 0.325,
"pitch_design_score": 0.1668
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686580",
"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": 92.6657698998437,
"release_spin_rate": 2533.720866783715,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.6657698998437,
"release_spin_rate": 2533.720866783715,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6658,
"release_spin_rate": 2533.7209,
"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.1668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1913,
"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.2155,
"sample_weight": 0.45,
"run_prevention_factor": 0.9817,
"strikeout_factor": 1.0203,
"walk_factor": 0.9883,
"homer_factor": 0.9633,
"woba_minus_xwoba": 0.03,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "686580",
"espn_id": 4917925,
"player_name": "Justin Slaten",
"team": "BOS",
"role": "pitcher",
"espn_rank": 474,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 474,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.1538,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 5.0,
"hld_rank": 66,
"ip_value": 8.2,
"ip_rank": 459,
"h_value": 8.0,
"h_rank": 453,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 3.0,
"bb_rank": 479,
"k_value": 12.0,
"k_rank": 392,
"k_per_9_value": 12.461538,
"k_per_9_rank": 23,
"whip_value": 1.2692,
"whip_rank": null,
"war_value": -0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9918,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9835,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0091,
"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": 8,
"BB": 3,
"SO": 12,
"HR": 2,
"ERA": 4.153846153846154,
"WHIP": 1.2692307692307694,
"K9": 12.461538461538462,
"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-05-22T00:00:00"
}{
"available": true,
"pitcher_id": "686580",
"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": 92.6657698998437,
"release_spin_rate": 2533.720866783715,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.6657698998437,
"release_spin_rate": 2533.720866783715,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6658,
"release_spin_rate": 2533.7209,
"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.1668,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1913,
"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": 1.709,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2548,
"prior_weight": 0.7452
},
"role": "pitcher",
"player_id": "686580",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 4.0,
"R": 4.0,
"H": 6.0,
"BB": 1.0,
"SO": 6.0,
"HR": 2.0,
"BF": 20.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8,
"R": 0.8,
"H": 1.2,
"BB": 0.2,
"SO": 1.2,
"HR": 0.4,
"BF": 4.0,
"Pitches": 15.8
},
"rates": {
"ERA": 8.3077,
"WHIP": 1.6154,
"ER_per_IP": 0.92308,
"H_per_IP": 1.38462,
"BB_per_IP": 0.23077,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 5.0,
"H": 8.0,
"BB": 3.0,
"SO": 12.0,
"HR": 2.0,
"BF": 37.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.8,
"BB": 0.3,
"SO": 1.2,
"HR": 0.2,
"BF": 3.7,
"Pitches": 15.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.2692,
"ER_per_IP": 0.46154,
"H_per_IP": 0.92308,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 4.0,
"R": 5.0,
"H": 8.0,
"BB": 3.0,
"SO": 12.0,
"HR": 2.0,
"BF": 37.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.5,
"H": 0.8,
"BB": 0.3,
"SO": 1.2,
"HR": 0.2,
"BF": 3.7,
"Pitches": 15.0
},
"rates": {
"ERA": 4.1538,
"WHIP": 1.2692,
"ER_per_IP": 0.46154,
"H_per_IP": 0.92308,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.23077
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.535,
"predicted_H": 1.004,
"predicted_BB": 0.347,
"predicted_SO": 1.056,
"predicted_HR": 0.19,
"predicted_ERA": 4.8143,
"predicted_WHIP": 1.3508
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6648,
"form_weight": 0.3352,
"form_reliability": 0.2548,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.709,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2548,
"prior_weight": 0.7452
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.535,
"final": 0.1793,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.004,
"final": 0.3365,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.347,
"final": 0.7811,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.056,
"final": 1.6836,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.19,
"final": 0.0637,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.8143,
"final": 4.8143,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3508,
"final": 1.3508,
"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.1181 |
| ESPN Rank | 488 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0180 |
| Avg Velo | 90.0093 |
| Avg Spin | 2322.1979 |
| 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 | 3.3750 |
| Season WHIP | 1.2656 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"opponent": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"edges": {
"quality_edge": -0.5327,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.1555,
"defense_strength": 0.0758,
"opponent_defense_weakness": -0.3126,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9747,
"run_prevention": 1.0439,
"strikeout": 0.9716
},
"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": 84.0,
"k_percent": 22.3,
"bb_percent": 7.4,
"woba": 0.343,
"xwoba": 0.297,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 32.8,
"avg_best_speed": 74.9103,
"avg_hyper_speed": 93.0106,
"whiff_percent": 22.5,
"swing_percent": 46.9
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.273,
"command_and_miss": -0.0893,
"regression_edge": 1.3143,
"xwoba_edge": 0.3429,
"barrel_edge": 0.5778,
"hard_hit_edge": 0.8143,
"whiff_edge": -0.4857,
"bb_edge": 0.5,
"pitch_design_score": 0.018
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669711",
"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": 90.00933660952298,
"release_spin_rate": 2322.197866500815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.00933660952298,
"release_spin_rate": 2322.197866500815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0093,
"release_spin_rate": 2322.1979,
"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.018,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1287,
"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.1181,
"sample_weight": 0.45,
"run_prevention_factor": 0.99,
"strikeout_factor": 0.9905,
"walk_factor": 0.982,
"homer_factor": 0.9599,
"woba_minus_xwoba": 0.046,
"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": 488,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 488,
"gp_value": 23.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.7968,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 21.1,
"ip_rank": 282,
"h_value": 23.0,
"h_rank": 205,
"er_value": 9.0,
"er_rank": 266,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 7.0,
"bb_rank": 328,
"k_value": 21.0,
"k_rank": 268,
"k_per_9_value": 8.859375,
"k_per_9_rank": 25,
"whip_value": 1.4062,
"whip_rank": null,
"war_value": -0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9919,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.982,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9957,
"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": 3,
"H": 9,
"BB": 2,
"SO": 5,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 1.1379310344827587,
"K9": 4.655172413793104,
"HR9": 0.9310344827586208,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "669711",
"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": 90.00933660952298,
"release_spin_rate": 2322.197866500815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.00933660952298,
"release_spin_rate": 2322.197866500815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0093,
"release_spin_rate": 2322.1979,
"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.018,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1287,
"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.208,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.457,
"prior_weight": 0.543
},
"role": "pitcher",
"player_id": "669711",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 90.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 4.6,
"Pitches": 18.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8333,
"ER_per_IP": 0.0,
"H_per_IP": 0.66667,
"BB_per_IP": 0.16667,
"SO_per_IP": 0.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 3.0,
"H": 10.0,
"BB": 2.0,
"SO": 5.0,
"HR": 1.0,
"BF": 43.0,
"Pitches": 156.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 1.0,
"BB": 0.2,
"SO": 0.5,
"HR": 0.1,
"BF": 4.3,
"Pitches": 15.6
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.125,
"ER_per_IP": 0.28125,
"H_per_IP": 0.9375,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.46875,
"HR_per_IP": 0.09375
}
},
"season": {
"games": 22,
"totals": {
"IP": 21.1,
"ER": 8.0,
"R": 9.0,
"H": 21.0,
"BB": 6.0,
"SO": 21.0,
"HR": 4.0,
"BF": 91.0,
"Pitches": 349.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3636,
"R": 0.4091,
"H": 0.9545,
"BB": 0.2727,
"SO": 0.9545,
"HR": 0.1818,
"BF": 4.1364,
"Pitches": 15.8636
},
"rates": {
"ERA": 3.375,
"WHIP": 1.2656,
"ER_per_IP": 0.375,
"H_per_IP": 0.98438,
"BB_per_IP": 0.28125,
"SO_per_IP": 0.98438,
"HR_per_IP": 0.1875
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.237,
"predicted_H": 0.628,
"predicted_BB": 0.205,
"predicted_SO": 0.551,
"predicted_HR": 0.073,
"predicted_ERA": 3.0163,
"predicted_WHIP": 1.1795
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5794,
"form_weight": 0.4206,
"form_reliability": 0.457,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.208,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.457,
"prior_weight": 0.543
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.237,
"final": 0.0997,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.628,
"final": 0.2641,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.205,
"final": 0.0862,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.551,
"final": 0.2317,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.073,
"final": 0.0307,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0163,
"final": 3.0163,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1795,
"final": 1.1795,
"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.1740 |
| ESPN Rank | 239 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1511 |
| Avg Velo | 86.9889 |
| Avg Spin | 2188.6044 |
| 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 | 2.9277 |
| Season WHIP | 1.0482 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BOS",
"games": 62,
"wins": 25,
"losses": 37,
"win_pct": 0.4032,
"runs_scored": 231.0,
"runs_allowed": 255.0,
"run_differential": -24.0,
"run_differential_per_game": -0.3871,
"avg_runs_scored": 3.7258,
"avg_runs_allowed": 4.1129,
"offense_index": 0.8421,
"defense_index": 1.0758,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.0,
"run_differential": 5.0
},
"available": true,
"quality_score": -0.1304
},
"opponent": {
"team": "ATL",
"games": 62,
"wins": 42,
"losses": 20,
"win_pct": 0.6774,
"runs_scored": 317.0,
"runs_allowed": 209.0,
"run_differential": 108.0,
"run_differential_per_game": 1.7419,
"avg_runs_scored": 5.1129,
"avg_runs_allowed": 3.371,
"offense_index": 1.1555,
"defense_index": 1.3126,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.7,
"avg_runs_allowed": 4.3,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.4023
},
"edges": {
"quality_edge": -0.5327,
"offense_edge": -0.1579,
"opponent_offense_edge": 0.1555,
"defense_strength": 0.0758,
"opponent_defense_weakness": -0.3126,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9747,
"run_prevention": 1.0439,
"strikeout": 0.9716
},
"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": 108.0,
"k_percent": 28.1,
"bb_percent": 12.3,
"woba": 0.286,
"xwoba": 0.282,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 31.3,
"avg_best_speed": 78.7515,
"avg_hyper_speed": 93.8516,
"whiff_percent": 32.0,
"swing_percent": 44.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.4531,
"command_and_miss": 0.5136,
"regression_edge": 0.1143,
"xwoba_edge": 0.7714,
"barrel_edge": -0.4,
"hard_hit_edge": 1.0286,
"whiff_edge": 0.8714,
"bb_edge": -0.725,
"pitch_design_score": -0.1511
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663558",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.98887657890727,
"release_spin_rate": 2188.604428682716,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.98887657890727,
"release_spin_rate": 2188.604428682716,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9889,
"release_spin_rate": 2188.6044,
"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.1511,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0795,
"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.174,
"sample_weight": 0.45,
"run_prevention_factor": 0.9852,
"strikeout_factor": 1.0298,
"walk_factor": 1.0261,
"homer_factor": 0.9855,
"woba_minus_xwoba": 0.004,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663558",
"espn_id": 4722926,
"player_name": "Jovani Moran",
"team": "BOS",
"role": "pitcher",
"espn_rank": 239,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 239,
"gp_value": 18.0,
"gp_rank": 143,
"gs_value": 3.0,
"gs_rank": 168,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.253,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 1.0,
"hld_rank": 178,
"ip_value": 27.2,
"ip_rank": 174,
"h_value": 18.0,
"h_rank": 279,
"er_value": 10.0,
"er_rank": 238,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 14.0,
"bb_rank": 146,
"k_value": 32.0,
"k_rank": 146,
"k_per_9_value": 10.409638,
"k_per_9_rank": 22,
"whip_value": 1.1566,
"whip_rank": null,
"war_value": 0.21,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9933,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0117,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0134,
"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": 5,
"SO": 16,
"HR": 2,
"ERA": 4.62857142857143,
"WHIP": 1.2000000000000002,
"K9": 12.342857142857145,
"HR9": 1.5428571428571431,
"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-24T00:00:00"
}{
"available": true,
"pitcher_id": "663558",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.98887657890727,
"release_spin_rate": 2188.604428682716,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.98887657890727,
"release_spin_rate": 2188.604428682716,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9889,
"release_spin_rate": 2188.6044,
"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.1511,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.0795,
"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.457,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5219,
"prior_weight": 0.4781
},
"role": "pitcher",
"player_id": "663558",
"report_date": "20260528_A",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 4.0,
"BB": 0.0,
"SO": 10.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 71.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 0.8,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 3.8,
"Pitches": 14.2
},
"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": 2.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 6.0,
"R": 6.0,
"H": 9.0,
"BB": 5.0,
"SO": 16.0,
"HR": 2.0,
"BF": 49.0,
"Pitches": 196.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6,
"R": 0.6,
"H": 0.9,
"BB": 0.5,
"SO": 1.6,
"HR": 0.2,
"BF": 4.9,
"Pitches": 19.6
},
"rates": {
"ERA": 4.6286,
"WHIP": 1.2,
"ER_per_IP": 0.51429,
"H_per_IP": 0.77143,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.37143,
"HR_per_IP": 0.17143
}
},
"season": {
"games": 17,
"totals": {
"IP": 27.2,
"ER": 9.0,
"R": 9.0,
"H": 17.0,
"BB": 12.0,
"SO": 32.0,
"HR": 4.0,
"BF": 111.0,
"Pitches": 421.0
},
"per_game": {
"IP": 1.2,
"ER": 0.5294,
"R": 0.5294,
"H": 1.0,
"BB": 0.7059,
"SO": 1.8824,
"HR": 0.2353,
"BF": 6.5294,
"Pitches": 24.7647
},
"rates": {
"ERA": 2.9277,
"WHIP": 1.0482,
"ER_per_IP": 0.3253,
"H_per_IP": 0.61446,
"BB_per_IP": 0.43373,
"SO_per_IP": 1.15663,
"HR_per_IP": 0.14458
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.363,
"predicted_H": 0.685,
"predicted_BB": 0.244,
"predicted_SO": 1.049,
"predicted_HR": 0.089,
"predicted_ERA": 4.0243,
"predicted_WHIP": 1.1438
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.552,
"form_weight": 0.448,
"form_reliability": 0.5219,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.457,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5219,
"prior_weight": 0.4781
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.363,
"final": 0.1626,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.685,
"final": 0.3069,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.244,
"final": 0.1093,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.049,
"final": 0.47,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.089,
"final": 0.0399,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.0243,
"final": 4.0243,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1438,
"final": 1.1438,
"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.018 | 0.000 | 0.000 | Hitting_3B | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_AB | 4.320 | 4.000 | 10.000 | Hitting_AB | 3.960 | 5.000 | 0.040 | -1.000 |
| predicted_AVG | 0.239 | 0.000 | 0.200 | Hitting_AVG | 0.282 | 0.200 | -0.282 | -0.200 |
| predicted_BB | 0.416 | 0.000 | 1.000 | Hitting_BB | 0.416 | 0.000 | -0.416 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_H | 1.040 | 0.000 | 2.000 | Hitting_H | 1.115 | 1.000 | -1.115 | -1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_OBP | 0.310 | 0.000 | 0.273 | Hitting_OBP | 0.348 | 0.200 | -0.348 | -0.200 |
| predicted_R | 0.469 | 0.000 | 1.000 | Hitting_R | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.434 | 2.000 | -0.434 | -2.000 |
| predicted_SLG | 0.404 | 0.000 | 0.200 | Hitting_SLG | 0.425 | 0.200 | -0.425 | -0.200 |
| predicted_SO | 0.805 | 0.000 | 2.000 | Hitting_SO | 0.805 | 0.000 | -0.805 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | - |
| Biggest Deboost | predicted_H: 1.0400 -> 0.0000 (deboost -1.0400, 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 -> 10.0449 (boost 5.7249, 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.6128 -> 2.4427 (deboost -0.1701, 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 | 0 | 5 | predicted_SO: 1.9187 -> 2.0000 (boost 0.0813, worse) | predicted_H: 2.4427 -> 2.0000 (deboost -0.4427, worse) | AB rounded to 10 (raw=10.04), rates preserved: AVG=0.243 HR/AB=0.024 |
| 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.3660 -> 0.2000 (deboost -0.1660, 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: 10.0000 -> 4.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.2000 -> 0.3660 (boost 0.1660, better) | - | 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.186,
"predicted_3B": 0.018,
"predicted_AB": 4.32,
"predicted_AVG": 0.239,
"predicted_BB": 0.416,
"predicted_H": 1.04,
"predicted_HR": 0.12,
"predicted_OBP": 0.31,
"predicted_R": 0.469,
"predicted_RBI": 0.46,
"predicted_SLG": 0.404,
"predicted_SO": 0.805
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4217,
"predicted_3B": 0.0401,
"predicted_AB": 10.0449,
"predicted_AVG": 0.2511,
"predicted_BB": 0.9846,
"predicted_H": 2.6128,
"predicted_HBP": 0.005,
"predicted_HR": 0.2643,
"predicted_OBP": 0.319,
"predicted_R": 1.113,
"predicted_RBI": 1.2731,
"predicted_SLG": 0.3993,
"predicted_SO": 1.8768
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.4217,
"delta": 0.2357,
"percent_delta": 1.2672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.018,
"after": 0.0401,
"delta": 0.0221,
"percent_delta": 1.2278,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 10.0449,
"delta": 5.7249,
"percent_delta": 1.3252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2511,
"delta": 0.0121,
"percent_delta": 0.0506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.9846,
"delta": 0.5686,
"percent_delta": 1.3668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.6128,
"delta": 1.5728,
"percent_delta": 1.5123,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2643,
"delta": 0.1443,
"percent_delta": 1.2025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.319,
"delta": 0.009,
"percent_delta": 0.029,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 1.113,
"delta": 0.644,
"percent_delta": 1.3731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.2731,
"delta": 0.8131,
"percent_delta": 1.7676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.3993,
"delta": -0.0047,
"percent_delta": -0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.805,
"after": 1.8768,
"delta": 1.0718,
"percent_delta": 1.3314,
"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": 10.0449,
"delta": 5.7249,
"percent_delta": 1.3252,
"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": 1,
"last_10": 2,
"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.4217,
"predicted_3B": 0.0401,
"predicted_AB": 10.0449,
"predicted_AVG": 0.2432,
"predicted_BB": 0.9626,
"predicted_H": 2.4427,
"predicted_HBP": 0.005,
"predicted_HR": 0.244,
"predicted_OBP": 0.3094,
"predicted_R": 0.9901,
"predicted_RBI": 1.1325,
"predicted_SLG": 0.366,
"predicted_SO": 1.9187
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4217,
"after": 0.4217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0401,
"after": 0.0401,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0449,
"after": 10.0449,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2511,
"after": 0.2432,
"delta": -0.0079,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9846,
"after": 0.9626,
"delta": -0.022,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.6128,
"after": 2.4427,
"delta": -0.1701,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.2643,
"after": 0.244,
"delta": -0.0203,
"percent_delta": -0.0768,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3094,
"delta": -0.0096,
"percent_delta": -0.0301,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.113,
"after": 0.9901,
"delta": -0.1229,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2731,
"after": 1.1325,
"delta": -0.1406,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3993,
"after": 0.366,
"delta": -0.0333,
"percent_delta": -0.0834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8768,
"after": 1.9187,
"delta": 0.0419,
"percent_delta": 0.0223,
"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.6128,
"after": 2.4427,
"delta": -0.1701,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=10.04), rates preserved: AVG=0.243 HR/AB=0.024",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.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.4217,
"after": 0.0,
"delta": -0.4217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0401,
"after": 0.0,
"delta": -0.0401,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0449,
"after": 10.0,
"delta": -0.0449,
"percent_delta": -0.0045,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.9626,
"after": 1.0,
"delta": 0.0374,
"percent_delta": 0.0389,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4427,
"after": 2.0,
"delta": -0.4427,
"percent_delta": -0.1812,
"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.244,
"after": 0.0,
"delta": -0.244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1325,
"after": 1.0,
"delta": -0.1325,
"percent_delta": -0.117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9187,
"after": 2.0,
"delta": 0.0813,
"percent_delta": 0.0424,
"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.9187,
"after": 2.0,
"delta": 0.0813,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.4427,
"after": 2.0,
"delta": -0.4427,
"percent_delta": -0.1812,
"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": 10.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": 10.0,
"after": 10.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.9901,
"after": 1.0,
"delta": 0.0099,
"percent_delta": 0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 10.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2432,
"after": 0.2,
"delta": -0.0432,
"percent_delta": -0.1776,
"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.3094,
"after": 0.273,
"delta": -0.0364,
"percent_delta": -0.1176,
"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.366,
"after": 0.2,
"delta": -0.166,
"percent_delta": -0.4536,
"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.366,
"after": 0.2,
"delta": -0.166,
"percent_delta": -0.4536,
"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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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.2432,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3094,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.366,
"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.2432,
"delta": 0.0432,
"percent_delta": 0.2159,
"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.273,
"after": 0.3094,
"delta": 0.0364,
"percent_delta": 0.1332,
"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.366,
"delta": 0.166,
"percent_delta": 0.8301,
"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.366,
"delta": 0.166,
"percent_delta": 0.8301,
"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.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.32,
"after": 4.0,
"delta": -0.32,
"percent_delta": -0.0741,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.239,
"after": 0.2432,
"delta": 0.0042,
"percent_delta": 0.0176,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"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.31,
"after": 0.3094,
"delta": -0.0006,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"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.404,
"after": 0.366,
"delta": -0.038,
"percent_delta": -0.0941,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.805,
"after": 0.0,
"delta": -0.805,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 0,
"deboosted_metrics": 9,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"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.018 | - |
| predicted_AB | 4.320 | - |
| predicted_AVG | 0.239 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.805 | - |
Final model 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.422 | 0.236 |
| predicted_3B | 0.040 | 0.022 |
| predicted_AB | 10.045 | 5.725 |
| predicted_AVG | 0.251 | 0.012 |
| predicted_BB | 0.985 | 0.569 |
| predicted_H | 2.613 | 1.573 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.264 | 0.144 |
| predicted_OBP | 0.319 | 0.009 |
| predicted_R | 1.113 | 0.644 |
| predicted_RBI | 1.273 | 0.813 |
| predicted_SLG | 0.399 | -0.005 |
| predicted_SO | 1.877 | 1.072 |
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.422 | 0.000 |
| predicted_3B | 0.040 | 0.000 |
| predicted_AB | 10.045 | 0.000 |
| predicted_AVG | 0.243 | -0.008 |
| predicted_BB | 0.963 | -0.022 |
| predicted_H | 2.443 | -0.170 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.244 | -0.020 |
| predicted_OBP | 0.309 | -0.010 |
| predicted_R | 0.990 | -0.123 |
| predicted_RBI | 1.133 | -0.141 |
| predicted_SLG | 0.366 | -0.033 |
| predicted_SO | 1.919 | 0.042 |
AB rounded to 10 (raw=10.04), rates preserved: AVG=0.243 HR/AB=0.024
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.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 | 10.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.422 |
| predicted_3B | 0.000 | -0.040 |
| predicted_AB | 10.000 | -0.045 |
| predicted_AVG | 0.200 | -0.043 |
| predicted_BB | 1.000 | 0.037 |
| predicted_H | 2.000 | -0.443 |
| predicted_HR | 0.000 | -0.244 |
| predicted_OBP | 0.273 | -0.036 |
| predicted_R | 1.000 | 0.010 |
| predicted_RBI | 1.000 | -0.133 |
| predicted_SLG | 0.200 | -0.166 |
| 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 | -6.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 | 1 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 10.000 | 0.000 | 0.000 | 0.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.4000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 2 | - | 45.000 | 5.000 | 0.000 | 0.000 | 0.000 | 10.000 | 5.000 | 5.000 | 5.000 | 0.1111 | 0.2000 | 0.1111 | 0.1111 | 0.0000 | 0.2222 | 0.1111 | 0.1111 |
| season | 0.60 | 53 | - | 895.000 | 252.000 | 42.000 | 4.000 | 26.000 | 98.000 | 106.000 | 94.000 | 182.000 | 0.2816 | 0.3484 | 0.4246 | 0.2816 | 0.0290 | 0.1095 | 0.1050 | 0.2034 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7200 |
| predicted_3B | 0.0680 |
| predicted_AB | 17.2890 |
| predicted_AVG | 0.2663 |
| predicted_BB | 1.7040 |
| predicted_H | 4.6030 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.4470 |
| predicted_OBP | 0.3304 |
| predicted_R | 1.9280 |
| predicted_RBI | 2.3020 |
| predicted_SLG | 0.3934 |
| predicted_SO | 3.2330 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.7200 | 0.4217 | model_form_blend |
| predicted_3B | 0.0180 | 0.0680 | 0.0401 | model_form_blend |
| predicted_AB | 4.3200 | 17.2890 | 10.0449 | model_form_blend |
| predicted_AVG | 0.2390 | 0.2663 | 0.2511 | model_form_blend |
| predicted_BB | 0.4160 | 1.7040 | 0.9846 | model_form_blend |
| predicted_H | 1.0400 | 4.6030 | 2.6128 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1200 | 0.4470 | 0.2643 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3304 | 0.3190 | model_form_blend |
| predicted_R | 0.4690 | 1.9280 | 1.1130 | model_form_blend |
| predicted_RBI | 0.4600 | 2.3020 | 1.2731 | model_form_blend |
| predicted_SLG | 0.4040 | 0.3934 | 0.3993 | model_form_blend |
| predicted_SO | 0.8050 | 3.2330 | 1.8768 | 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.282 |
| 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 | 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 | 2 |
| 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 | RF |
| gameID | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 677800 |
| playerID | 677800 |
| playerName | Wilyer Abreu |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.349 |
| sl_xwoba | 0.344 |
| sl_xba | 0.266 |
| sl_xslg | 0.462 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 11.4 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 17.1 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 47.8 |
| at_bat_number | 72.0 |
| ab_pitcher | 471911.0 |
| ab_pitcher_name | Carrasco, Carlos |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 8.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Wilyer Abreu grounds out, second baseman Ozzie Albies to first baseman Matt Olson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 83.6 |
| ab_launch_angle_last | -26.0 |
| ab_hit_distance_last | 6.0 |
| ab_estimated_ba_last | 0.057 |
| ab_estimated_woba_last | 0.057 |
| ab_estimated_slg_last | 0.061 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 8.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 92.4 |
| ab_release_spin_rate_avg | 2221.0 |
| ab_effective_speed_avg | 93.1 |
| ab_launch_speed_avg | 83.6 |
| ab_launch_angle_avg | -26.0 |
| ab_delta_run_exp_avg | -0.256 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.256 |
| ab_bat_speed_avg | 75.3 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 83.6 |
| ab_hit_distance_sc_max | 6.0 |
| ab_release_speed_max | 92.4 |
| ab_release_spin_rate_max | 2221.0 |
| ab_release_speed_min | 92.4 |
| ab_release_spin_rate_min | 2221.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.191 | 0.000 | 0.000 | Hitting_2B | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_3B | 0.005 | 0.000 | 0.000 | Hitting_3B | 0.005 | 0.000 | -0.005 | 0.000 |
| predicted_AB | 4.580 | 3.000 | 11.000 | Hitting_AB | 4.149 | 5.000 | -1.149 | -2.000 |
| predicted_AVG | 0.236 | 0.333 | 0.273 | Hitting_AVG | 0.215 | 0.800 | 0.118 | -0.467 |
| predicted_BB | 0.367 | 1.000 | 1.000 | Hitting_BB | 0.367 | 0.000 | 0.633 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.080 | 1.000 | 3.000 | Hitting_H | 0.893 | 4.000 | 0.107 | -3.000 |
| predicted_HR | 0.210 | 0.000 | 1.000 | Hitting_HR | 0.167 | 1.000 | -0.167 | -1.000 |
| predicted_OBP | 0.325 | 0.500 | 0.333 | Hitting_OBP | 0.289 | 0.800 | 0.211 | -0.300 |
| predicted_R | 0.572 | 0.000 | 1.000 | Hitting_R | 0.572 | 2.000 | -0.572 | -2.000 |
| predicted_RBI | 0.580 | 0.000 | 1.000 | Hitting_RBI | 0.586 | 1.000 | -0.586 | -1.000 |
| predicted_SLG | 0.449 | 0.333 | 0.545 | Hitting_SLG | 0.385 | 1.400 | -0.051 | -1.067 |
| predicted_SO | 1.200 | 1.000 | 3.000 | Hitting_SO | 1.200 | 0.000 | -0.200 | 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_BB: 0.3670 -> 1.0000 (boost 0.6330, better) |
| Biggest Deboost | predicted_AB: 4.5800 -> 3.0000 (deboost -1.5800, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.5800 -> 10.7503 (boost 6.1703, 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 | 7 | 1 | 6 | 0 | 7 | predicted_SO: 2.7992 -> 2.8616 (boost 0.0624, worse) | predicted_H: 2.8284 -> 2.6443 (deboost -0.1841, worse) | 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.5500 -> 1.0000 (boost 0.4500, better) | predicted_2B: 0.4408 -> 0.0000 (deboost -0.4408, worse) | AB rounded to 11 (raw=10.75), rates preserved: AVG=0.246 HR/AB=0.051 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4634 -> 1.0000 (deboost -0.4634, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4426 -> 0.5450 (boost 0.1024, better) | - | 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: 11.0000 -> 3.0000 (deboost -8.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5450 -> 0.4426 (deboost -0.1024, 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.191,
"predicted_3B": 0.005,
"predicted_AB": 4.58,
"predicted_AVG": 0.236,
"predicted_BB": 0.367,
"predicted_H": 1.08,
"predicted_HR": 0.21,
"predicted_OBP": 0.325,
"predicted_R": 0.572,
"predicted_RBI": 0.58,
"predicted_SLG": 0.449,
"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.4408,
"predicted_3B": 0.0116,
"predicted_AB": 10.7503,
"predicted_AVG": 0.2517,
"predicted_BB": 0.845,
"predicted_H": 2.8284,
"predicted_HBP": 0.272,
"predicted_HR": 0.5958,
"predicted_OBP": 0.33,
"predicted_R": 1.645,
"predicted_RBI": 1.5334,
"predicted_SLG": 0.467,
"predicted_SO": 2.7992
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.4408,
"delta": 0.2498,
"percent_delta": 1.3079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.0116,
"delta": 0.0066,
"percent_delta": 1.32,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.58,
"after": 10.7503,
"delta": 6.1703,
"percent_delta": 1.3472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2517,
"delta": 0.0157,
"percent_delta": 0.0665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 0.845,
"delta": 0.478,
"percent_delta": 1.3025,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 2.8284,
"delta": 1.7484,
"percent_delta": 1.6189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.5958,
"delta": 0.3858,
"percent_delta": 1.8371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.325,
"after": 0.33,
"delta": 0.005,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.572,
"after": 1.645,
"delta": 1.073,
"percent_delta": 1.8759,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.5334,
"delta": 0.9534,
"percent_delta": 1.6438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.449,
"after": 0.467,
"delta": 0.018,
"percent_delta": 0.0401,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2,
"after": 2.7992,
"delta": 1.5992,
"percent_delta": 1.3327,
"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.58,
"after": 10.7503,
"delta": 6.1703,
"percent_delta": 1.3472,
"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": 1,
"last_10": 2,
"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.4408,
"predicted_3B": 0.0116,
"predicted_AB": 10.7503,
"predicted_AVG": 0.246,
"predicted_BB": 0.8262,
"predicted_H": 2.6443,
"predicted_HBP": 0.272,
"predicted_HR": 0.55,
"predicted_OBP": 0.2998,
"predicted_R": 1.4634,
"predicted_RBI": 1.3641,
"predicted_SLG": 0.4426,
"predicted_SO": 2.8616
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4408,
"after": 0.4408,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0116,
"after": 0.0116,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.7503,
"after": 10.7503,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2517,
"after": 0.246,
"delta": -0.0057,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.845,
"after": 0.8262,
"delta": -0.0188,
"percent_delta": -0.0222,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.8284,
"after": 2.6443,
"delta": -0.1841,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.5958,
"after": 0.55,
"delta": -0.0458,
"percent_delta": -0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.2998,
"delta": -0.0302,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.645,
"after": 1.4634,
"delta": -0.1816,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5334,
"after": 1.3641,
"delta": -0.1693,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4426,
"delta": -0.0244,
"percent_delta": -0.0522,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7992,
"after": 2.8616,
"delta": 0.0624,
"percent_delta": 0.0223,
"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.7992,
"after": 2.8616,
"delta": 0.0624,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.8284,
"after": 2.6443,
"delta": -0.1841,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 11 (raw=10.75), rates preserved: AVG=0.246 HR/AB=0.051",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.4408,
"after": 0.0,
"delta": -0.4408,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0116,
"after": 0.0,
"delta": -0.0116,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.7503,
"after": 11.0,
"delta": 0.2497,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8262,
"after": 1.0,
"delta": 0.1738,
"percent_delta": 0.2104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.6443,
"after": 3.0,
"delta": 0.3557,
"percent_delta": 0.1345,
"direction": "boost",
"projection_effect": "better",
"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.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3641,
"after": 1.0,
"delta": -0.3641,
"percent_delta": -0.2669,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.8616,
"after": 3.0,
"delta": 0.1384,
"percent_delta": 0.0484,
"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.55,
"after": 1.0,
"delta": 0.45,
"percent_delta": 0.8182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4408,
"after": 0.0,
"delta": -0.4408,
"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.600)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 3.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": 11.0,
"after": 11.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_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.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": 11.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.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": 11.0,
"after": 11.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.4634,
"after": 1.0,
"delta": -0.4634,
"percent_delta": -0.3167,
"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.4634,
"after": 1.0,
"delta": -0.4634,
"percent_delta": -0.3167,
"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": 11.0,
"predicted_AVG": 0.273,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.545,
"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": 11.0,
"after": 11.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.273,
"delta": 0.027,
"percent_delta": 0.1098,
"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.2998,
"after": 0.333,
"delta": 0.0332,
"percent_delta": 0.1107,
"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.4426,
"after": 0.545,
"delta": 0.1024,
"percent_delta": 0.2314,
"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.4426,
"after": 0.545,
"delta": 0.1024,
"percent_delta": 0.2314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 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": 11.0,
"after": 3.0,
"delta": -8.0,
"percent_delta": -0.7273,
"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": 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": 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": 11.0,
"after": 3.0,
"delta": -8.0,
"percent_delta": -0.7273,
"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.246,
"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.2998,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4426,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.273,
"after": 0.246,
"delta": -0.027,
"percent_delta": -0.099,
"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.2998,
"delta": -0.0332,
"percent_delta": -0.0998,
"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.545,
"after": 0.4426,
"delta": -0.1024,
"percent_delta": -0.1878,
"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.545,
"after": 0.4426,
"delta": -0.1024,
"percent_delta": -0.1878,
"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.191,
"after": 0.0,
"delta": -0.191,
"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": 4.58,
"after": 3.0,
"delta": -1.58,
"percent_delta": -0.345,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.246,
"delta": 0.01,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.367,
"after": 1.0,
"delta": 0.633,
"percent_delta": 1.7248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.08,
"after": 1.0,
"delta": -0.08,
"percent_delta": -0.0741,
"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.325,
"after": 0.2998,
"delta": -0.0252,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.572,
"after": 0.0,
"delta": -0.572,
"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.449,
"after": 0.4426,
"delta": -0.0064,
"percent_delta": -0.0143,
"direction": "deboost",
"projection_effect": "worse",
"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": 2,
"deboosted_metrics": 9,
"better_metrics": 3,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.367,
"after": 1.0,
"delta": 0.633,
"percent_delta": 1.7248,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.58,
"after": 3.0,
"delta": -1.58,
"percent_delta": -0.345,
"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.191 | - |
| predicted_3B | 0.005 | - |
| predicted_AB | 4.580 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.367 | - |
| predicted_H | 1.080 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.325 | - |
| predicted_R | 0.572 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.449 | - |
| 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.441 | 0.250 |
| predicted_3B | 0.012 | 0.007 |
| predicted_AB | 10.750 | 6.170 |
| predicted_AVG | 0.252 | 0.016 |
| predicted_BB | 0.845 | 0.478 |
| predicted_H | 2.828 | 1.748 |
| predicted_HBP | 0.272 | - |
| predicted_HR | 0.596 | 0.386 |
| predicted_OBP | 0.330 | 0.005 |
| predicted_R | 1.645 | 1.073 |
| predicted_RBI | 1.533 | 0.953 |
| predicted_SLG | 0.467 | 0.018 |
| predicted_SO | 2.799 | 1.599 |
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.441 | 0.000 |
| predicted_3B | 0.012 | 0.000 |
| predicted_AB | 10.750 | 0.000 |
| predicted_AVG | 0.246 | -0.006 |
| predicted_BB | 0.826 | -0.019 |
| predicted_H | 2.644 | -0.184 |
| predicted_HBP | 0.272 | 0.000 |
| predicted_HR | 0.550 | -0.046 |
| predicted_OBP | 0.300 | -0.030 |
| predicted_R | 1.463 | -0.182 |
| predicted_RBI | 1.364 | -0.169 |
| predicted_SLG | 0.443 | -0.024 |
| predicted_SO | 2.862 | 0.062 |
AB rounded to 11 (raw=10.75), rates preserved: AVG=0.246 HR/AB=0.051
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 11.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.600)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 11.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.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 | 11.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 | 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.441 |
| predicted_3B | 0.000 | -0.012 |
| predicted_AB | 11.000 | 0.250 |
| predicted_AVG | 0.273 | 0.027 |
| predicted_BB | 1.000 | 0.174 |
| predicted_H | 3.000 | 0.356 |
| predicted_HR | 1.000 | 0.450 |
| predicted_OBP | 0.333 | 0.033 |
| predicted_R | 1.000 | -0.463 |
| predicted_RBI | 1.000 | -0.364 |
| predicted_SLG | 0.545 | 0.102 |
| predicted_SO | 3.000 | 0.138 |
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 | -8.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.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 | -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 | 1 | - | 25.000 | 20.000 | 0.000 | 0.000 | 5.000 | 5.000 | 10.000 | 0.000 | 0.000 | 0.8000 | 0.8000 | 1.4000 | 0.8000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 2 | - | 50.000 | 30.000 | 0.000 | 0.000 | 10.000 | 10.000 | 15.000 | 0.000 | 5.000 | 0.6000 | 0.6000 | 1.2000 | 0.6000 | 0.2000 | 0.2000 | 0.0000 | 0.1000 |
| season | 0.60 | 49 | - | 892.000 | 192.000 | 41.000 | 1.000 | 36.000 | 126.000 | 123.000 | 79.000 | 258.000 | 0.2152 | 0.2886 | 0.3845 | 0.2152 | 0.0404 | 0.1413 | 0.0886 | 0.2892 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7570 |
| predicted_3B | 0.0200 |
| predicted_AB | 18.5590 |
| predicted_AVG | 0.2716 |
| predicted_BB | 1.4500 |
| predicted_H | 5.0410 |
| predicted_HBP | 0.2720 |
| predicted_HR | 1.0840 |
| predicted_OBP | 0.3363 |
| predicted_R | 3.0030 |
| predicted_RBI | 2.7400 |
| predicted_SLG | 0.4897 |
| predicted_SO | 4.8230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.7570 | 0.4408 | model_form_blend |
| predicted_3B | 0.0050 | 0.0200 | 0.0116 | model_form_blend |
| predicted_AB | 4.5800 | 18.5590 | 10.7503 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2716 | 0.2517 | model_form_blend |
| predicted_BB | 0.3670 | 1.4500 | 0.8450 | model_form_blend |
| predicted_H | 1.0800 | 5.0410 | 2.8284 | model_form_blend |
| predicted_HBP | - | 0.2720 | 0.2720 | form_only |
| predicted_HR | 0.2100 | 1.0840 | 0.5958 | model_form_blend |
| predicted_OBP | 0.3250 | 0.3363 | 0.3300 | model_form_blend |
| predicted_R | 0.5720 | 3.0030 | 1.6450 | model_form_blend |
| predicted_RBI | 0.5800 | 2.7400 | 1.5334 | model_form_blend |
| predicted_SLG | 0.4490 | 0.4897 | 0.4670 | model_form_blend |
| predicted_SO | 1.2000 | 4.8230 | 2.7992 | 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| 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 | 5 |
| Hitting_AVG | 0.8 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 4 |
| 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 | 7 |
| 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 680776 |
| playerID | 680776 |
| playerName | Jarren Duran |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.283 |
| sl_xwoba | 0.301 |
| sl_xba | 0.229 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 28.1 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 40.7 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 47.2 |
| at_bat_number | 70.0 |
| ab_pitcher | 471911.0 |
| ab_pitcher_name | Carrasco, Carlos |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 7.0 |
| ab_fld_score_start | 0.0 |
| ab_event | home_run |
| ab_event_description | Jarren Duran homers (8) on a fly ball to right field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 104.3 |
| ab_launch_angle_last | 24.0 |
| ab_hit_distance_last | 400.0 |
| ab_estimated_ba_last | 0.78 |
| ab_estimated_woba_last | 1.367 |
| ab_estimated_slg_last | 2.547 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 8.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 86.63333333333333 |
| ab_release_spin_rate_avg | 1516.6666666666667 |
| ab_effective_speed_avg | 87.53333333333335 |
| ab_launch_speed_avg | 104.3 |
| ab_launch_angle_avg | 24.0 |
| ab_delta_run_exp_avg | 0.3713333333333333 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.3713333333333333 |
| ab_bat_speed_avg | 80.4 |
| ab_swing_length_avg | 7.7 |
| ab_launch_speed_max | 104.3 |
| ab_hit_distance_sc_max | 400.0 |
| ab_release_speed_max | 89.0 |
| ab_release_spin_rate_max | 2406.0 |
| ab_release_speed_min | 85.4 |
| ab_release_spin_rate_min | 1029.0 |
| ab_delta_run_exp_sum | 1.114 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -1.114 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.170 | 0.000 | 0.000 | Hitting_2B | 0.168 | 0.000 | -0.168 | 0.000 |
| predicted_3B | 0.052 | 0.000 | 0.000 | Hitting_3B | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_AB | 3.880 | 4.000 | 9.000 | Hitting_AB | 3.724 | 5.000 | 0.276 | -1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.222 | Hitting_AVG | 0.286 | 0.600 | -0.286 | -0.600 |
| predicted_BB | 0.263 | 0.000 | 1.000 | Hitting_BB | 0.260 | 0.000 | -0.260 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.087 | 0.000 | -0.087 | 0.000 |
| predicted_H | 0.980 | 0.000 | 2.000 | Hitting_H | 1.066 | 3.000 | -1.066 | -3.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.092 | 0.000 | -0.092 | 0.000 |
| predicted_OBP | 0.336 | 0.000 | 0.300 | Hitting_OBP | 0.354 | 0.600 | -0.354 | -0.600 |
| predicted_R | 0.490 | 0.000 | 1.000 | Hitting_R | 0.485 | 1.000 | -0.485 | -1.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.454 | 2.000 | -0.454 | -2.000 |
| predicted_SLG | 0.423 | 0.000 | 0.222 | Hitting_SLG | 0.433 | 0.600 | -0.433 | -0.600 |
| predicted_SO | 0.856 | 1.000 | 2.000 | Hitting_SO | 0.847 | 0.000 | 0.153 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 2 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8560 -> 1.0000 (boost 0.1440, 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 | 12 | 12 | 0 | 11 | 1 | predicted_AB: 3.8800 -> 8.9416 (boost 5.0616, 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.6419 -> 2.4699 (deboost -0.1720, 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.5558 -> 1.0000 (boost 0.4442, better) | predicted_HBP: 0.4720 -> 0.0000 (deboost -0.4720, worse) | AB rounded to 9 (raw=8.94), rates preserved: AVG=0.276 HR/AB=0.026 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0748 -> 1.0000 (deboost -0.0748, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4209 -> 0.2220 (deboost -0.1989, 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: 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.4209 (boost 0.1989, better) | - | 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.17,
"predicted_3B": 0.052,
"predicted_AB": 3.88,
"predicted_AVG": 0.253,
"predicted_BB": 0.263,
"predicted_H": 0.98,
"predicted_HR": 0.12,
"predicted_OBP": 0.336,
"predicted_R": 0.49,
"predicted_RBI": 0.47,
"predicted_SLG": 0.423,
"predicted_SO": 0.856
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3673,
"predicted_3B": 0.1091,
"predicted_AB": 8.9416,
"predicted_AVG": 0.2777,
"predicted_BB": 0.5685,
"predicted_H": 2.6419,
"predicted_HBP": 0.472,
"predicted_HR": 0.2558,
"predicted_OBP": 0.3507,
"predicted_R": 1.2082,
"predicted_RBI": 1.2655,
"predicted_SLG": 0.4378,
"predicted_SO": 1.8805
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.3673,
"delta": 0.1973,
"percent_delta": 1.1606,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.052,
"after": 0.1091,
"delta": 0.0571,
"percent_delta": 1.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.88,
"after": 8.9416,
"delta": 5.0616,
"percent_delta": 1.3045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2777,
"delta": 0.0247,
"percent_delta": 0.0976,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.5685,
"delta": 0.3055,
"percent_delta": 1.1616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.98,
"after": 2.6419,
"delta": 1.6619,
"percent_delta": 1.6958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2558,
"delta": 0.1358,
"percent_delta": 1.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3507,
"delta": 0.0147,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 1.2082,
"delta": 0.7182,
"percent_delta": 1.4657,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.2655,
"delta": 0.7955,
"percent_delta": 1.6926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4378,
"delta": 0.0148,
"percent_delta": 0.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.856,
"after": 1.8805,
"delta": 1.0245,
"percent_delta": 1.1968,
"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": 3.88,
"after": 8.9416,
"delta": 5.0616,
"percent_delta": 1.3045,
"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": 1,
"last_10": 2,
"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.3673,
"predicted_3B": 0.1091,
"predicted_AB": 8.9416,
"predicted_AVG": 0.2762,
"predicted_BB": 0.5558,
"predicted_H": 2.4699,
"predicted_HBP": 0.472,
"predicted_HR": 0.2362,
"predicted_OBP": 0.3186,
"predicted_R": 1.0748,
"predicted_RBI": 1.1258,
"predicted_SLG": 0.4209,
"predicted_SO": 1.9224
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3673,
"after": 0.3673,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1091,
"after": 0.1091,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.9416,
"after": 8.9416,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2777,
"after": 0.2762,
"delta": -0.0015,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5685,
"after": 0.5558,
"delta": -0.0127,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.6419,
"after": 2.4699,
"delta": -0.172,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.472,
"after": 0.472,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2558,
"after": 0.2362,
"delta": -0.0196,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3507,
"after": 0.3186,
"delta": -0.0321,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2082,
"after": 1.0748,
"delta": -0.1334,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2655,
"after": 1.1258,
"delta": -0.1397,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4378,
"after": 0.4209,
"delta": -0.0169,
"percent_delta": -0.0386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8805,
"after": 1.9224,
"delta": 0.0419,
"percent_delta": 0.0223,
"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.6419,
"after": 2.4699,
"delta": -0.172,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.94), rates preserved: AVG=0.276 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.3673,
"after": 0.0,
"delta": -0.3673,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1091,
"after": 0.0,
"delta": -0.1091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.9416,
"after": 9.0,
"delta": 0.0584,
"percent_delta": 0.0065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4699,
"after": 2.0,
"delta": -0.4699,
"percent_delta": -0.1903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2362,
"after": 0.0,
"delta": -0.2362,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1258,
"after": 1.0,
"delta": -0.1258,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9224,
"after": 2.0,
"delta": 0.0776,
"percent_delta": 0.0404,
"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.5558,
"after": 1.0,
"delta": 0.4442,
"percent_delta": 0.7992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"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.0748,
"after": 1.0,
"delta": -0.0748,
"percent_delta": -0.0696,
"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.0748,
"after": 1.0,
"delta": -0.0748,
"percent_delta": -0.0696,
"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.2762,
"after": 0.222,
"delta": -0.0542,
"percent_delta": -0.1962,
"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.3186,
"after": 0.3,
"delta": -0.0186,
"percent_delta": -0.0584,
"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.4209,
"after": 0.222,
"delta": -0.1989,
"percent_delta": -0.4726,
"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.4209,
"after": 0.222,
"delta": -0.1989,
"percent_delta": -0.4726,
"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": 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": 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": 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.2762,
"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.3186,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4209,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2762,
"delta": 0.0542,
"percent_delta": 0.2443,
"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.3,
"after": 0.3186,
"delta": 0.0186,
"percent_delta": 0.0619,
"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.4209,
"delta": 0.1989,
"percent_delta": 0.8961,
"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.4209,
"delta": 0.1989,
"percent_delta": 0.8961,
"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.17,
"after": 0.0,
"delta": -0.17,
"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.88,
"after": 4.0,
"delta": 0.12,
"percent_delta": 0.0309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2762,
"delta": 0.0232,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.263,
"after": 0.0,
"delta": -0.263,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3186,
"delta": -0.0174,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4209,
"delta": -0.0021,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.856,
"after": 1.0,
"delta": 0.144,
"percent_delta": 0.1682,
"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.856,
"after": 1.0,
"delta": 0.144,
"percent_delta": 0.1682,
"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.170 | - |
| predicted_3B | 0.052 | - |
| predicted_AB | 3.880 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.263 | - |
| predicted_H | 0.980 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.490 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.856 | - |
Final model 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.367 | 0.197 |
| predicted_3B | 0.109 | 0.057 |
| predicted_AB | 8.942 | 5.062 |
| predicted_AVG | 0.278 | 0.025 |
| predicted_BB | 0.569 | 0.305 |
| predicted_H | 2.642 | 1.662 |
| predicted_HBP | 0.472 | - |
| predicted_HR | 0.256 | 0.136 |
| predicted_OBP | 0.351 | 0.015 |
| predicted_R | 1.208 | 0.718 |
| predicted_RBI | 1.266 | 0.796 |
| predicted_SLG | 0.438 | 0.015 |
| predicted_SO | 1.881 | 1.025 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.367 | 0.000 |
| predicted_3B | 0.109 | 0.000 |
| predicted_AB | 8.942 | 0.000 |
| predicted_AVG | 0.276 | -0.002 |
| predicted_BB | 0.556 | -0.013 |
| predicted_H | 2.470 | -0.172 |
| predicted_HBP | 0.472 | 0.000 |
| predicted_HR | 0.236 | -0.020 |
| predicted_OBP | 0.319 | -0.032 |
| predicted_R | 1.075 | -0.133 |
| predicted_RBI | 1.126 | -0.140 |
| predicted_SLG | 0.421 | -0.017 |
| predicted_SO | 1.922 | 0.042 |
AB rounded to 9 (raw=8.94), rates preserved: AVG=0.276 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.367 |
| predicted_3B | 0.000 | -0.109 |
| predicted_AB | 9.000 | 0.058 |
| predicted_AVG | 0.222 | -0.054 |
| predicted_BB | 1.000 | 0.444 |
| predicted_H | 2.000 | -0.470 |
| predicted_HR | 0.000 | -0.236 |
| predicted_OBP | 0.300 | -0.019 |
| predicted_R | 1.000 | -0.075 |
| predicted_RBI | 1.000 | -0.126 |
| predicted_SLG | 0.222 | -0.199 |
| predicted_SO | 2.000 | 0.078 |
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 | 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 | 1 | - | 25.000 | 15.000 | 0.000 | 0.000 | 0.000 | 10.000 | 5.000 | 0.000 | 0.000 | 0.6000 | 0.6000 | 0.6000 | 0.6000 | 0.0000 | 0.4000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 2 | - | 50.000 | 20.000 | 0.000 | 0.000 | 5.000 | 15.000 | 10.000 | 0.000 | 5.000 | 0.4000 | 0.4000 | 0.7000 | 0.4000 | 0.1000 | 0.3000 | 0.0000 | 0.1000 |
| season | 0.60 | 50 | - | 730.000 | 209.000 | 33.000 | 10.000 | 18.000 | 89.000 | 95.000 | 51.000 | 166.000 | 0.2863 | 0.3544 | 0.4329 | 0.2863 | 0.0247 | 0.1219 | 0.0699 | 0.2274 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6190 |
| predicted_3B | 0.1820 |
| predicted_AB | 15.3960 |
| predicted_AVG | 0.3092 |
| predicted_BB | 0.9580 |
| predicted_H | 4.7610 |
| predicted_HBP | 0.4720 |
| predicted_HR | 0.4290 |
| predicted_OBP | 0.3694 |
| predicted_R | 2.1240 |
| predicted_RBI | 2.2800 |
| predicted_SLG | 0.4566 |
| predicted_SO | 3.1870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.6190 | 0.3673 | model_form_blend |
| predicted_3B | 0.0520 | 0.1820 | 0.1091 | model_form_blend |
| predicted_AB | 3.8800 | 15.3960 | 8.9416 | model_form_blend |
| predicted_AVG | 0.2530 | 0.3092 | 0.2777 | model_form_blend |
| predicted_BB | 0.2630 | 0.9580 | 0.5685 | model_form_blend |
| predicted_H | 0.9800 | 4.7610 | 2.6419 | model_form_blend |
| predicted_HBP | - | 0.4720 | 0.4720 | form_only |
| predicted_HR | 0.1200 | 0.4290 | 0.2558 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3694 | 0.3507 | model_form_blend |
| predicted_R | 0.4900 | 2.1240 | 1.2082 | model_form_blend |
| predicted_RBI | 0.4700 | 2.2800 | 1.2655 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4566 | 0.4378 | model_form_blend |
| predicted_SO | 0.8560 | 3.1870 | 1.8805 | 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 | 196 |
| Season rows before report date | 196 |
| 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.286 |
| 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 | 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 | 1 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| 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 | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 678882 |
| playerID | 678882 |
| playerName | Ceddanne Rafaela |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.348 |
| sl_xwoba | 0.305 |
| sl_xba | 0.243 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 37.6 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 38.3 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 9.2 |
| sl_whiff_percent | 25.4 |
| sl_swing_percent | 48.6 |
| at_bat_number | 71.0 |
| ab_pitcher | 471911.0 |
| ab_pitcher_name | Carrasco, Carlos |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 8.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Ceddanne Rafaela grounds out softly to first baseman Matt Olson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 52.4 |
| ab_launch_angle_last | -40.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.226 |
| ab_estimated_woba_last | 0.211 |
| ab_estimated_slg_last | 0.229 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 8.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 86.1 |
| ab_release_spin_rate_avg | 2490.0 |
| ab_effective_speed_avg | 87.85 |
| ab_launch_speed_avg | 52.4 |
| ab_launch_angle_avg | -40.0 |
| ab_delta_run_exp_avg | -0.128 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.128 |
| ab_bat_speed_avg | 61.9 |
| ab_swing_length_avg | 8.85 |
| ab_launch_speed_max | 52.4 |
| ab_hit_distance_sc_max | 2.0 |
| ab_release_speed_max | 86.6 |
| ab_release_spin_rate_max | 2500.0 |
| ab_release_speed_min | 85.6 |
| ab_release_spin_rate_min | 2480.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.120 | 0.000 | 0.000 | Hitting_2B | 0.120 | 0.000 | -0.120 | 0.000 |
| predicted_3B | 0.023 | 0.000 | 0.000 | Hitting_3B | 0.023 | 0.000 | -0.023 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 9.000 | Hitting_AB | 3.705 | 5.000 | 0.295 | -1.000 |
| predicted_AVG | 0.269 | 0.000 | 0.222 | Hitting_AVG | 0.280 | 0.200 | -0.280 | -0.200 |
| 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.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.040 | 0.000 | 2.000 | Hitting_H | 1.037 | 1.000 | -1.037 | -1.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.226 | 0.000 | -0.226 | 0.000 |
| predicted_OBP | 0.364 | 0.000 | 0.300 | Hitting_OBP | 0.372 | 0.200 | -0.372 | -0.200 |
| predicted_R | 0.505 | 0.000 | 1.000 | Hitting_R | 0.502 | 0.000 | -0.502 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.724 | 0.000 | -0.724 | 0.000 |
| predicted_SLG | 0.511 | 0.000 | 0.222 | Hitting_SLG | 0.507 | 0.200 | -0.507 | -0.200 |
| predicted_SO | 1.130 | 1.000 | 3.000 | Hitting_SO | 1.124 | 2.000 | -0.124 | -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.8500 -> 4.0000 (boost 0.1500, better) |
| Biggest Deboost | predicted_H: 1.0400 -> 0.0000 (deboost -1.0400, 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: 3.8500 -> 9.1264 (boost 5.2764, better) | predicted_SLG: 0.5110 -> 0.4957 (deboost -0.0153, 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.7225 -> 2.7832 (boost 0.0607, worse) | predicted_RBI: 1.5082 -> 1.3417 (deboost -0.1665, 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: 2.7832 -> 3.0000 (boost 0.2168, worse) | predicted_HBP: 0.4810 -> 0.0000 (deboost -0.4810, worse) | AB rounded to 9 (raw=9.13), rates preserved: AVG=0.260 HR/AB=0.048 |
| 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 | 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.4427 -> 0.2220 (deboost -0.2207, 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2220 -> 0.4427 (boost 0.2207, 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.12,
"predicted_3B": 0.023,
"predicted_AB": 3.85,
"predicted_AVG": 0.269,
"predicted_BB": 0.444,
"predicted_H": 1.04,
"predicted_HR": 0.19,
"predicted_OBP": 0.364,
"predicted_R": 0.505,
"predicted_RBI": 0.62,
"predicted_SLG": 0.511,
"predicted_SO": 1.13
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2598,
"predicted_3B": 0.0486,
"predicted_AB": 9.1264,
"predicted_AVG": 0.274,
"predicted_BB": 0.9375,
"predicted_H": 2.5368,
"predicted_HBP": 0.481,
"predicted_HR": 0.4736,
"predicted_OBP": 0.3605,
"predicted_R": 1.0898,
"predicted_RBI": 1.5082,
"predicted_SLG": 0.4957,
"predicted_SO": 2.7225
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.12,
"after": 0.2598,
"delta": 0.1398,
"percent_delta": 1.165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.023,
"after": 0.0486,
"delta": 0.0256,
"percent_delta": 1.113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.85,
"after": 9.1264,
"delta": 5.2764,
"percent_delta": 1.3705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.274,
"delta": 0.005,
"percent_delta": 0.0186,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.444,
"after": 0.9375,
"delta": 0.4935,
"percent_delta": 1.1115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.5368,
"delta": 1.4968,
"percent_delta": 1.4392,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.4736,
"delta": 0.2836,
"percent_delta": 1.4926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3605,
"delta": -0.0035,
"percent_delta": -0.0096,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 1.0898,
"delta": 0.5848,
"percent_delta": 1.158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.5082,
"delta": 0.8882,
"percent_delta": 1.4326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.4957,
"delta": -0.0153,
"percent_delta": -0.0299,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.13,
"after": 2.7225,
"delta": 1.5925,
"percent_delta": 1.4093,
"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": 3.85,
"after": 9.1264,
"delta": 5.2764,
"percent_delta": 1.3705,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.511,
"after": 0.4957,
"delta": -0.0153,
"percent_delta": -0.0299,
"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": 1,
"last_10": 3,
"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.2598,
"predicted_3B": 0.0486,
"predicted_AB": 9.1264,
"predicted_AVG": 0.2599,
"predicted_BB": 0.9166,
"predicted_H": 2.3717,
"predicted_HBP": 0.481,
"predicted_HR": 0.4372,
"predicted_OBP": 0.3274,
"predicted_R": 0.9695,
"predicted_RBI": 1.3417,
"predicted_SLG": 0.4427,
"predicted_SO": 2.7832
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2598,
"after": 0.2598,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0486,
"after": 0.0486,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.1264,
"after": 9.1264,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2599,
"delta": -0.0141,
"percent_delta": -0.0515,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9375,
"after": 0.9166,
"delta": -0.0209,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.5368,
"after": 2.3717,
"delta": -0.1651,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.481,
"after": 0.481,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4736,
"after": 0.4372,
"delta": -0.0364,
"percent_delta": -0.0769,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3605,
"after": 0.3274,
"delta": -0.0331,
"percent_delta": -0.0918,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0898,
"after": 0.9695,
"delta": -0.1203,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5082,
"after": 1.3417,
"delta": -0.1665,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4957,
"after": 0.4427,
"delta": -0.053,
"percent_delta": -0.1069,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7225,
"after": 2.7832,
"delta": 0.0607,
"percent_delta": 0.0223,
"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.7225,
"after": 2.7832,
"delta": 0.0607,
"percent_delta": 0.0223,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5082,
"after": 1.3417,
"delta": -0.1665,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.13), rates preserved: AVG=0.260 HR/AB=0.048",
"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.2598,
"after": 0.0,
"delta": -0.2598,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0486,
"after": 0.0,
"delta": -0.0486,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.1264,
"after": 9.0,
"delta": -0.1264,
"percent_delta": -0.0138,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9166,
"after": 1.0,
"delta": 0.0834,
"percent_delta": 0.091,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3717,
"after": 2.0,
"delta": -0.3717,
"percent_delta": -0.1567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4372,
"after": 0.0,
"delta": -0.4372,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3417,
"after": 1.0,
"delta": -0.3417,
"percent_delta": -0.2547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7832,
"after": 3.0,
"delta": 0.2168,
"percent_delta": 0.0779,
"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": 2.7832,
"after": 3.0,
"delta": 0.2168,
"percent_delta": 0.0779,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"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=6.0, weight=0.067, BvP AVG=0.167)",
"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.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": 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": 0.9695,
"after": 1.0,
"delta": 0.0305,
"percent_delta": 0.0315,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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.2599,
"after": 0.222,
"delta": -0.0379,
"percent_delta": -0.1458,
"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.3274,
"after": 0.3,
"delta": -0.0274,
"percent_delta": -0.0837,
"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.4427,
"after": 0.222,
"delta": -0.2207,
"percent_delta": -0.4985,
"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.4427,
"after": 0.222,
"delta": -0.2207,
"percent_delta": -0.4985,
"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": 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": 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": 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.2599,
"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.3274,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4427,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2599,
"delta": 0.0379,
"percent_delta": 0.1706,
"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.3,
"after": 0.3274,
"delta": 0.0274,
"percent_delta": 0.0914,
"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.4427,
"delta": 0.2207,
"percent_delta": 0.9942,
"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.4427,
"delta": 0.2207,
"percent_delta": 0.9942,
"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.12,
"after": 0.0,
"delta": -0.12,
"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.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2599,
"delta": -0.0091,
"percent_delta": -0.0338,
"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": 1.04,
"after": 0.0,
"delta": -1.04,
"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.364,
"after": 0.3274,
"delta": -0.0366,
"percent_delta": -0.1005,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"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.511,
"after": 0.4427,
"delta": -0.0683,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.13,
"after": 1.0,
"delta": -0.13,
"percent_delta": -0.115,
"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.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.04,
"after": 0.0,
"delta": -1.04,
"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.120 | - |
| predicted_3B | 0.023 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.444 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.364 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.511 | - |
| predicted_SO | 1.130 | - |
Final model 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.260 | 0.140 |
| predicted_3B | 0.049 | 0.026 |
| predicted_AB | 9.126 | 5.276 |
| predicted_AVG | 0.274 | 0.005 |
| predicted_BB | 0.938 | 0.493 |
| predicted_H | 2.537 | 1.497 |
| predicted_HBP | 0.481 | - |
| predicted_HR | 0.474 | 0.284 |
| predicted_OBP | 0.360 | -0.004 |
| predicted_R | 1.090 | 0.585 |
| predicted_RBI | 1.508 | 0.888 |
| predicted_SLG | 0.496 | -0.015 |
| predicted_SO | 2.723 | 1.593 |
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.260 | 0.000 |
| predicted_3B | 0.049 | 0.000 |
| predicted_AB | 9.126 | 0.000 |
| predicted_AVG | 0.260 | -0.014 |
| predicted_BB | 0.917 | -0.021 |
| predicted_H | 2.372 | -0.165 |
| predicted_HBP | 0.481 | 0.000 |
| predicted_HR | 0.437 | -0.036 |
| predicted_OBP | 0.327 | -0.033 |
| predicted_R | 0.970 | -0.120 |
| predicted_RBI | 1.342 | -0.167 |
| predicted_SLG | 0.443 | -0.053 |
| predicted_SO | 2.783 | 0.061 |
AB rounded to 9 (raw=9.13), rates preserved: AVG=0.260 HR/AB=0.048
| 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=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 | 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.260 |
| predicted_3B | 0.000 | -0.049 |
| predicted_AB | 9.000 | -0.126 |
| predicted_AVG | 0.222 | -0.038 |
| predicted_BB | 1.000 | 0.083 |
| predicted_H | 2.000 | -0.372 |
| predicted_HR | 0.000 | -0.437 |
| predicted_OBP | 0.300 | -0.027 |
| predicted_R | 1.000 | 0.030 |
| predicted_RBI | 1.000 | -0.342 |
| predicted_SLG | 0.222 | -0.221 |
| predicted_SO | 3.000 | 0.217 |
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 | 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 | 1 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 3 | - | 45.000 | 15.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 0.000 | 11.000 | 0.3333 | 0.3333 | 0.4000 | 0.3333 | 0.0222 | 0.0444 | 0.0000 | 0.2444 |
| season | 0.60 | 51 | - | 804.000 | 225.000 | 26.000 | 5.000 | 49.000 | 157.000 | 109.000 | 96.000 | 244.000 | 0.2799 | 0.3710 | 0.5075 | 0.2798 | 0.0609 | 0.1953 | 0.1194 | 0.3035 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4370 |
| predicted_3B | 0.0810 |
| predicted_AB | 15.8140 |
| predicted_AVG | 0.2804 |
| predicted_BB | 1.5630 |
| predicted_H | 4.4340 |
| predicted_HBP | 0.4810 |
| predicted_HR | 0.8330 |
| predicted_OBP | 0.3560 |
| predicted_R | 1.8310 |
| predicted_RBI | 2.6340 |
| predicted_SLG | 0.4763 |
| predicted_SO | 4.7410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1200 | 0.4370 | 0.2598 | model_form_blend |
| predicted_3B | 0.0230 | 0.0810 | 0.0486 | model_form_blend |
| predicted_AB | 3.8500 | 15.8140 | 9.1264 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2804 | 0.2740 | model_form_blend |
| predicted_BB | 0.4440 | 1.5630 | 0.9375 | model_form_blend |
| predicted_H | 1.0400 | 4.4340 | 2.5368 | model_form_blend |
| predicted_HBP | - | 0.4810 | 0.4810 | form_only |
| predicted_HR | 0.1900 | 0.8330 | 0.4736 | model_form_blend |
| predicted_OBP | 0.3640 | 0.3560 | 0.3605 | model_form_blend |
| predicted_R | 0.5050 | 1.8310 | 1.0898 | model_form_blend |
| predicted_RBI | 0.6200 | 2.6340 | 1.5082 | model_form_blend |
| predicted_SLG | 0.5110 | 0.4763 | 0.4957 | model_form_blend |
| predicted_SO | 1.1300 | 4.7410 | 2.7225 | 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 | 217 |
| Season rows before report date | 217 |
| Report year | 2026 |
| Profile rows used | 216 |
| 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.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 | 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 | 1B |
| gameID | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 575929 |
| playerID | 575929 |
| playerName | Willson Contreras |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 25.2 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.393 |
| sl_xwoba | 0.395 |
| sl_xba | 0.27 |
| sl_xslg | 0.534 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 15.5 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 89.9 |
| sl_launch_angle_avg | 15.4 |
| sl_whiff_percent | 30.9 |
| sl_swing_percent | 46.9 |
| at_bat_number | 73.0 |
| ab_pitcher | 471911.0 |
| ab_pitcher_name | Carrasco, Carlos |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 8.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Willson Contreras grounds out, third baseman Austin Riley to first baseman Matt Olson. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 92.1 |
| ab_launch_angle_last | -3.0 |
| ab_hit_distance_last | 21.0 |
| ab_estimated_ba_last | 0.281 |
| ab_estimated_woba_last | 0.253 |
| ab_estimated_slg_last | 0.299 |
| 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 | 8.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 8.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 88.2 |
| ab_release_spin_rate_avg | 1990.5 |
| ab_effective_speed_avg | 89.025 |
| ab_launch_speed_avg | 83.55 |
| ab_launch_angle_avg | -24.0 |
| ab_delta_run_exp_avg | -0.061 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.061 |
| ab_bat_speed_avg | 74.8 |
| ab_swing_length_avg | 8.566666666666668 |
| ab_launch_speed_max | 92.1 |
| ab_hit_distance_sc_max | 21.0 |
| ab_release_speed_max | 90.6 |
| ab_release_spin_rate_max | 2349.0 |
| ab_release_speed_min | 85.7 |
| ab_release_spin_rate_min | 1363.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.235 | 0.000 | 0.000 | Hitting_2B | 0.235 | 0.000 | -0.235 | 0.000 |
| predicted_3B | 0.118 | 0.000 | 0.000 | Hitting_3B | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_AB | 3.410 | 3.000 | 6.000 | Hitting_AB | 3.353 | 3.000 | -0.353 | 0.000 |
| predicted_AVG | 0.260 | 0.000 | 0.333 | Hitting_AVG | 0.307 | 0.333 | -0.307 | -0.333 |
| predicted_BB | 0.529 | 1.000 | 1.000 | Hitting_BB | 0.529 | 0.000 | 0.471 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 0.000 | 2.000 | Hitting_H | 1.029 | 1.000 | -1.029 | -1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.350 | 0.250 | 0.429 | Hitting_OBP | 0.402 | 0.333 | -0.152 | -0.083 |
| predicted_R | 0.382 | 0.000 | 1.000 | Hitting_R | 0.382 | 0.000 | -0.382 | 0.000 |
| predicted_RBI | 0.320 | 0.000 | 0.000 | Hitting_RBI | 0.147 | 0.000 | -0.147 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.423 | 0.000 | 0.333 | Hitting_SLG | 0.447 | 0.333 | -0.447 | -0.333 |
| predicted_SO | 0.529 | 2.000 | 1.000 | Hitting_SO | 0.529 | 0.000 | 1.471 | 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.5290 -> 2.0000 (boost 1.4710, 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 | 11 | 0 | 10 | 1 | predicted_AB: 3.4100 -> 6.2501 (boost 2.8401, 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.7763 -> 1.6607 (deboost -0.1156, 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_H: 1.6607 -> 2.0000 (boost 0.3393, better) | predicted_2B: 0.4242 -> 0.0000 (deboost -0.4242, worse) | AB rounded to 6 (raw=6.25), rates preserved: AVG=0.266 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6307 -> 1.0000 (boost 0.3693, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3500 -> 0.4290 (boost 0.0790, better) | predicted_SLG: 0.4229 -> 0.3330 (deboost -0.0899, 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: 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.4229 (boost 0.0899, better) | predicted_OBP: 0.4290 -> 0.3500 (deboost -0.0790, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "686765",
"player_name": "Nick Sogard",
"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.235,
"predicted_3B": 0.118,
"predicted_AB": 3.41,
"predicted_AVG": 0.26,
"predicted_BB": 0.529,
"predicted_H": 0.89,
"predicted_HR": 0.07,
"predicted_OBP": 0.35,
"predicted_R": 0.382,
"predicted_RBI": 0.32,
"predicted_SLG": 0.423,
"predicted_SO": 0.529
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4242,
"predicted_3B": 0.1845,
"predicted_AB": 6.2501,
"predicted_AVG": 0.2741,
"predicted_BB": 0.829,
"predicted_H": 1.7763,
"predicted_HBP": 0.018,
"predicted_HR": 0.0684,
"predicted_OBP": 0.3585,
"predicted_R": 0.709,
"predicted_RBI": 0.4197,
"predicted_SLG": 0.4281,
"predicted_SO": 0.9846
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.235,
"after": 0.4242,
"delta": 0.1892,
"percent_delta": 0.8051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.118,
"after": 0.1845,
"delta": 0.0665,
"percent_delta": 0.5636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.41,
"after": 6.2501,
"delta": 2.8401,
"percent_delta": 0.8329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2741,
"delta": 0.0141,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 0.829,
"delta": 0.3,
"percent_delta": 0.5671,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.7763,
"delta": 0.8863,
"percent_delta": 0.9958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.0684,
"delta": -0.0016,
"percent_delta": -0.0229,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.3585,
"delta": 0.0085,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.709,
"delta": 0.327,
"percent_delta": 0.856,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.4197,
"delta": 0.0997,
"percent_delta": 0.3116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.423,
"after": 0.4281,
"delta": 0.0051,
"percent_delta": 0.0121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 0.9846,
"delta": 0.4556,
"percent_delta": 0.8612,
"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.41,
"after": 6.2501,
"delta": 2.8401,
"percent_delta": 0.8329,
"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": 3,
"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.4242,
"predicted_3B": 0.1845,
"predicted_AB": 6.2501,
"predicted_AVG": 0.2657,
"predicted_BB": 0.8105,
"predicted_H": 1.6607,
"predicted_HBP": 0.018,
"predicted_HR": 0.0631,
"predicted_OBP": 0.35,
"predicted_R": 0.6307,
"predicted_RBI": 0.3734,
"predicted_SLG": 0.4229,
"predicted_SO": 1.0066
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4242,
"after": 0.4242,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1845,
"after": 0.1845,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.2501,
"after": 6.2501,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2741,
"after": 0.2657,
"delta": -0.0084,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.829,
"after": 0.8105,
"delta": -0.0185,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7763,
"after": 1.6607,
"delta": -0.1156,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0684,
"after": 0.0631,
"delta": -0.0053,
"percent_delta": -0.0775,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3585,
"after": 0.35,
"delta": -0.0085,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.709,
"after": 0.6307,
"delta": -0.0783,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4197,
"after": 0.3734,
"delta": -0.0463,
"percent_delta": -0.1103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4281,
"after": 0.4229,
"delta": -0.0052,
"percent_delta": -0.0121,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9846,
"after": 1.0066,
"delta": 0.022,
"percent_delta": 0.0223,
"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.7763,
"after": 1.6607,
"delta": -0.1156,
"percent_delta": -0.0651,
"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.266 HR/AB=0.010",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4242,
"after": 0.0,
"delta": -0.4242,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1845,
"after": 0.0,
"delta": -0.1845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.2501,
"after": 6.0,
"delta": -0.2501,
"percent_delta": -0.04,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8105,
"after": 1.0,
"delta": 0.1895,
"percent_delta": 0.2338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6607,
"after": 2.0,
"delta": 0.3393,
"percent_delta": 0.2043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0631,
"after": 0.0,
"delta": -0.0631,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3734,
"after": 0.0,
"delta": -0.3734,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0066,
"after": 1.0,
"delta": -0.0066,
"percent_delta": -0.0066,
"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_H",
"before": 1.6607,
"after": 2.0,
"delta": 0.3393,
"percent_delta": 0.2043,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4242,
"after": 0.0,
"delta": -0.4242,
"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": 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": 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.6307,
"after": 1.0,
"delta": 0.3693,
"percent_delta": 0.5855,
"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.6307,
"after": 1.0,
"delta": 0.3693,
"percent_delta": 0.5855,
"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": 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": 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.2657,
"after": 0.333,
"delta": 0.0673,
"percent_delta": 0.2533,
"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.35,
"after": 0.429,
"delta": 0.079,
"percent_delta": 0.2257,
"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.4229,
"after": 0.333,
"delta": -0.0899,
"percent_delta": -0.2126,
"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.35,
"after": 0.429,
"delta": 0.079,
"percent_delta": 0.2257,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4229,
"after": 0.333,
"delta": -0.0899,
"percent_delta": -0.2126,
"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": 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": 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": 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": 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.2657,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.35,
"predicted_R": 0.0,
"predicted_RBI": 0.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": 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.2657,
"delta": -0.0673,
"percent_delta": -0.2021,
"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.429,
"after": 0.35,
"delta": -0.079,
"percent_delta": -0.1842,
"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.4229,
"delta": 0.0899,
"percent_delta": 0.27,
"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.4229,
"delta": 0.0899,
"percent_delta": 0.27,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.35,
"delta": -0.079,
"percent_delta": -0.1842,
"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.118,
"after": 0.0,
"delta": -0.118,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.41,
"after": 3.0,
"delta": -0.41,
"percent_delta": -0.1202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.26,
"after": 0.2657,
"delta": 0.0057,
"percent_delta": 0.0219,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.529,
"after": 1.0,
"delta": 0.471,
"percent_delta": 0.8904,
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.35,
"after": 0.35,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.382,
"after": 0.0,
"delta": -0.382,
"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.423,
"after": 0.4229,
"delta": -0.0001,
"percent_delta": -0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.529,
"after": 2.0,
"delta": 1.471,
"percent_delta": 2.7807,
"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.529,
"after": 2.0,
"delta": 1.471,
"percent_delta": 2.7807,
"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.235 | - |
| predicted_3B | 0.118 | - |
| predicted_AB | 3.410 | - |
| predicted_AVG | 0.260 | - |
| predicted_BB | 0.529 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.350 | - |
| predicted_R | 0.382 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.423 | - |
| predicted_SO | 0.529 | - |
Final model 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.424 | 0.189 |
| predicted_3B | 0.184 | 0.067 |
| predicted_AB | 6.250 | 2.840 |
| predicted_AVG | 0.274 | 0.014 |
| predicted_BB | 0.829 | 0.300 |
| predicted_H | 1.776 | 0.886 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.068 | -0.002 |
| predicted_OBP | 0.358 | 0.009 |
| predicted_R | 0.709 | 0.327 |
| predicted_RBI | 0.420 | 0.100 |
| predicted_SLG | 0.428 | 0.005 |
| predicted_SO | 0.985 | 0.456 |
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.424 | 0.000 |
| predicted_3B | 0.184 | 0.000 |
| predicted_AB | 6.250 | 0.000 |
| predicted_AVG | 0.266 | -0.008 |
| predicted_BB | 0.810 | -0.018 |
| predicted_H | 1.661 | -0.116 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.063 | -0.005 |
| predicted_OBP | 0.350 | -0.009 |
| predicted_R | 0.631 | -0.078 |
| predicted_RBI | 0.373 | -0.046 |
| predicted_SLG | 0.423 | -0.005 |
| predicted_SO | 1.007 | 0.022 |
AB rounded to 6 (raw=6.25), rates preserved: AVG=0.266 HR/AB=0.010
| 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 | 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 | 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.424 |
| predicted_3B | 0.000 | -0.184 |
| predicted_AB | 6.000 | -0.250 |
| predicted_AVG | 0.333 | 0.067 |
| predicted_BB | 1.000 | 0.190 |
| predicted_H | 2.000 | 0.339 |
| predicted_HR | 0.000 | -0.063 |
| predicted_OBP | 0.429 | 0.079 |
| predicted_R | 1.000 | 0.369 |
| predicted_RBI | 0.000 | -0.373 |
| predicted_SLG | 0.333 | -0.090 |
| 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 | 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 | 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 | 2 | - | 16.000 | 5.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 1.000 | 0.3125 | 0.3125 | 0.3750 | 0.3125 | 0.0000 | 0.0000 | 0.0000 | 0.0625 |
| last_10 | 0.20 | 3 | - | 36.000 | 10.000 | 4.000 | 2.000 | 0.000 | 0.000 | 6.000 | 0.000 | 4.000 | 0.2778 | 0.2778 | 0.5000 | 0.2778 | 0.0000 | 0.0000 | 0.0000 | 0.1111 |
| season | 0.60 | 9 | - | 114.000 | 35.000 | 8.000 | 4.000 | 0.000 | 5.000 | 13.000 | 18.000 | 18.000 | 0.3070 | 0.4015 | 0.4474 | 0.3070 | 0.0000 | 0.0439 | 0.1579 | 0.1579 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7130 |
| predicted_3B | 0.2860 |
| predicted_AB | 10.5850 |
| predicted_AVG | 0.2956 |
| predicted_BB | 1.2870 |
| predicted_H | 3.1290 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.0660 |
| predicted_OBP | 0.3715 |
| predicted_R | 1.2080 |
| predicted_RBI | 0.5720 |
| predicted_SLG | 0.4358 |
| predicted_SO | 1.6800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2350 | 0.7130 | 0.4242 | model_form_blend |
| predicted_3B | 0.1180 | 0.2860 | 0.1845 | model_form_blend |
| predicted_AB | 3.4100 | 10.5850 | 6.2501 | model_form_blend |
| predicted_AVG | 0.2600 | 0.2956 | 0.2741 | model_form_blend |
| predicted_BB | 0.5290 | 1.2870 | 0.8290 | model_form_blend |
| predicted_H | 0.8900 | 3.1290 | 1.7763 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.0700 | 0.0660 | 0.0684 | model_form_blend |
| predicted_OBP | 0.3500 | 0.3715 | 0.3585 | model_form_blend |
| predicted_R | 0.3820 | 1.2080 | 0.7090 | model_form_blend |
| predicted_RBI | 0.3200 | 0.5720 | 0.4197 | model_form_blend |
| predicted_SLG | 0.4230 | 0.4358 | 0.4281 | model_form_blend |
| predicted_SO | 0.5290 | 1.6800 | 0.9846 | 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 | 34 |
| Season rows before report date | 34 |
| Report year | 2026 |
| Profile rows used | 34 |
| 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.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.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 | 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 | 2B |
| gameID | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 686765 |
| playerID | 686765 |
| playerName | Nick Sogard |
| pos | 3B |
| started | True |
| startingPosition | 2B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 15.6 |
| sl_woba | 0.381 |
| sl_xwoba | 0.349 |
| sl_xba | 0.298 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 22.7 |
| sl_exit_velocity_avg | 83.4 |
| sl_launch_angle_avg | 12.6 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 36.0 |
| at_bat_number | 62.0 |
| ab_pitcher | 471911.0 |
| ab_pitcher_name | Carrasco, Carlos |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 681508.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 6.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Nick Sogard grounds out, second baseman Ozzie Albies to first baseman Matt Olson. Mickey Gasper to 2nd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 58.7 |
| ab_launch_angle_last | -35.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.111 |
| ab_estimated_woba_last | 0.1 |
| ab_estimated_slg_last | 0.118 |
| 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 | 6.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 88.0 |
| ab_release_spin_rate_avg | 1823.0 |
| ab_effective_speed_avg | 89.175 |
| ab_launch_speed_avg | 58.7 |
| ab_launch_angle_avg | -35.0 |
| ab_delta_run_exp_avg | -0.0775 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.0775 |
| ab_bat_speed_avg | 70.05000000000001 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 58.7 |
| ab_hit_distance_sc_max | 2.0 |
| ab_release_speed_max | 91.3 |
| ab_release_spin_rate_max | 2227.0 |
| ab_release_speed_min | 84.8 |
| ab_release_spin_rate_min | 1385.0 |
| ab_delta_run_exp_sum | -0.31 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.31 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.374 | 0.000 | 1.000 | Hitting_2B | 0.370 | 0.000 | -0.370 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.538 | 3.000 | 6.000 | Hitting_AB | 3.500 | 2.000 | -0.500 | 1.000 |
| predicted_AVG | 0.247 | 0.333 | 0.167 | Hitting_AVG | 0.270 | 0.000 | 0.063 | 0.333 |
| predicted_BB | 0.275 | 1.000 | 1.000 | Hitting_BB | 0.272 | 0.000 | 0.728 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_H | 0.300 | 1.000 | 1.000 | Hitting_H | 0.946 | 0.000 | 0.054 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.065 | 0.000 | -0.065 | 0.000 |
| predicted_OBP | 0.285 | 0.500 | 0.286 | Hitting_OBP | 0.323 | 0.000 | 0.177 | 0.500 |
| predicted_R | 0.484 | 0.000 | 1.000 | Hitting_R | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_RBI | 0.160 | 0.000 | 1.000 | Hitting_RBI | 0.478 | 0.000 | -0.478 | 0.000 |
| predicted_SLG | 0.375 | 0.333 | 0.333 | Hitting_SLG | 0.432 | 0.000 | -0.098 | 0.333 |
| predicted_SO | 0.703 | 0.000 | 1.000 | Hitting_SO | 0.696 | 1.000 | -0.696 | -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.2750 -> 1.0000 (boost 0.7250, better) |
| Biggest Deboost | predicted_SO: 0.7030 -> 0.0000 (deboost -0.7030, 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.5380 -> 5.9046 (boost 2.3666, 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.8480 -> 0.7544 (deboost -0.0936, 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.5118 -> 1.0000 (boost 0.4882, better) | predicted_SO: 1.4110 -> 1.0000 (deboost -0.4110, better) | AB rounded to 6 (raw=5.90), rates preserved: AVG=0.190 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7544 -> 1.0000 (boost 0.2456, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2581 -> 0.2860 (boost 0.0279, better) | predicted_AVG: 0.1899 -> 0.1670 (deboost -0.0229, 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 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1670 -> 0.1899 (boost 0.0229, better) | predicted_OBP: 0.2860 -> 0.2581 (deboost -0.0279, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "655316",
"player_name": "Andruw Monasterio",
"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.374,
"predicted_3B": 0.0,
"predicted_AB": 3.538,
"predicted_AVG": 0.247,
"predicted_BB": 0.275,
"predicted_H": 0.3,
"predicted_HR": 0.04,
"predicted_OBP": 0.285,
"predicted_R": 0.484,
"predicted_RBI": 0.16,
"predicted_SLG": 0.375,
"predicted_SO": 0.703
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.5118,
"predicted_3B": 0.0013,
"predicted_AB": 5.9046,
"predicted_AVG": 0.2547,
"predicted_BB": 0.5549,
"predicted_H": 1.1995,
"predicted_HBP": 0.007,
"predicted_HR": 0.0831,
"predicted_OBP": 0.3057,
"predicted_R": 0.848,
"predicted_RBI": 0.6631,
"predicted_SLG": 0.381,
"predicted_SO": 1.3802
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.374,
"after": 0.5118,
"delta": 0.1378,
"percent_delta": 0.3684,
"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.538,
"after": 5.9046,
"delta": 2.3666,
"percent_delta": 0.6689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2547,
"delta": 0.0077,
"percent_delta": 0.0312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 0.5549,
"delta": 0.2799,
"percent_delta": 1.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.1995,
"delta": 0.8995,
"percent_delta": 2.9983,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0831,
"delta": 0.0431,
"percent_delta": 1.0775,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.285,
"after": 0.3057,
"delta": 0.0207,
"percent_delta": 0.0726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.484,
"after": 0.848,
"delta": 0.364,
"percent_delta": 0.7521,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.6631,
"delta": 0.5031,
"percent_delta": 3.1444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.381,
"delta": 0.006,
"percent_delta": 0.016,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 1.3802,
"delta": 0.6772,
"percent_delta": 0.9633,
"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.538,
"after": 5.9046,
"delta": 2.3666,
"percent_delta": 0.6689,
"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": 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.5118,
"predicted_3B": 0.0013,
"predicted_AB": 5.9046,
"predicted_AVG": 0.1899,
"predicted_BB": 0.5425,
"predicted_H": 1.1214,
"predicted_HBP": 0.007,
"predicted_HR": 0.0767,
"predicted_OBP": 0.2581,
"predicted_R": 0.7544,
"predicted_RBI": 0.5899,
"predicted_SLG": 0.316,
"predicted_SO": 1.411
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5118,
"after": 0.5118,
"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.9046,
"after": 5.9046,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2547,
"after": 0.1899,
"delta": -0.0648,
"percent_delta": -0.2544,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5549,
"after": 0.5425,
"delta": -0.0124,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1995,
"after": 1.1214,
"delta": -0.0781,
"percent_delta": -0.0651,
"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.0831,
"after": 0.0767,
"delta": -0.0064,
"percent_delta": -0.077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3057,
"after": 0.2581,
"delta": -0.0476,
"percent_delta": -0.1557,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.848,
"after": 0.7544,
"delta": -0.0936,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6631,
"after": 0.5899,
"delta": -0.0732,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.316,
"delta": -0.065,
"percent_delta": -0.1706,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3802,
"after": 1.411,
"delta": 0.0308,
"percent_delta": 0.0223,
"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.848,
"after": 0.7544,
"delta": -0.0936,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.90), rates preserved: AVG=0.190 HR/AB=0.013",
"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.5118,
"after": 1.0,
"delta": 0.4882,
"percent_delta": 0.9539,
"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": 5.9046,
"after": 6.0,
"delta": 0.0954,
"percent_delta": 0.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5425,
"after": 1.0,
"delta": 0.4575,
"percent_delta": 0.8433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1214,
"after": 1.0,
"delta": -0.1214,
"percent_delta": -0.1083,
"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.0767,
"after": 0.0,
"delta": -0.0767,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5899,
"after": 1.0,
"delta": 0.4101,
"percent_delta": 0.6952,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.411,
"after": 1.0,
"delta": -0.411,
"percent_delta": -0.2913,
"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.5118,
"after": 1.0,
"delta": 0.4882,
"percent_delta": 0.9539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.411,
"after": 1.0,
"delta": -0.411,
"percent_delta": -0.2913,
"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": 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.7544,
"after": 1.0,
"delta": 0.2456,
"percent_delta": 0.3256,
"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.7544,
"after": 1.0,
"delta": 0.2456,
"percent_delta": 0.3256,
"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.1899,
"after": 0.167,
"delta": -0.0229,
"percent_delta": -0.1206,
"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.2581,
"after": 0.286,
"delta": 0.0279,
"percent_delta": 0.1081,
"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.316,
"after": 0.333,
"delta": 0.017,
"percent_delta": 0.0538,
"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_OBP",
"before": 0.2581,
"after": 0.286,
"delta": 0.0279,
"percent_delta": 0.1081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1899,
"after": 0.167,
"delta": -0.0229,
"percent_delta": -0.1206,
"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": 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": 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": 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.1899,
"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.2581,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.316,
"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.1899,
"delta": 0.0229,
"percent_delta": 0.1373,
"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.2581,
"delta": -0.0279,
"percent_delta": -0.0976,
"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.316,
"delta": -0.017,
"percent_delta": -0.051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1899,
"delta": 0.0229,
"percent_delta": 0.1373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2581,
"delta": -0.0279,
"percent_delta": -0.0976,
"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.374,
"after": 0.0,
"delta": -0.374,
"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.538,
"after": 3.0,
"delta": -0.538,
"percent_delta": -0.1521,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.1899,
"delta": -0.0571,
"percent_delta": -0.2312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.275,
"after": 1.0,
"delta": 0.725,
"percent_delta": 2.6364,
"direction": "boost",
"projection_effect": "better",
"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.285,
"after": 0.2581,
"delta": -0.0269,
"percent_delta": -0.0944,
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.316,
"delta": -0.059,
"percent_delta": -0.1573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 0.0,
"delta": -0.703,
"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.275,
"after": 1.0,
"delta": 0.725,
"percent_delta": 2.6364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.703,
"after": 0.0,
"delta": -0.703,
"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.374 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.538 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.275 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.285 | - |
| predicted_R | 0.484 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.375 | - |
| predicted_SO | 0.703 | - |
Final model 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.512 | 0.138 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.905 | 2.367 |
| predicted_AVG | 0.255 | 0.008 |
| predicted_BB | 0.555 | 0.280 |
| predicted_H | 1.200 | 0.899 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.083 | 0.043 |
| predicted_OBP | 0.306 | 0.021 |
| predicted_R | 0.848 | 0.364 |
| predicted_RBI | 0.663 | 0.503 |
| predicted_SLG | 0.381 | 0.006 |
| predicted_SO | 1.380 | 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.512 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.905 | 0.000 |
| predicted_AVG | 0.190 | -0.065 |
| predicted_BB | 0.542 | -0.012 |
| predicted_H | 1.121 | -0.078 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.077 | -0.006 |
| predicted_OBP | 0.258 | -0.048 |
| predicted_R | 0.754 | -0.094 |
| predicted_RBI | 0.590 | -0.073 |
| predicted_SLG | 0.316 | -0.065 |
| predicted_SO | 1.411 | 0.031 |
AB rounded to 6 (raw=5.90), rates preserved: AVG=0.190 HR/AB=0.013
| 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.488 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.095 |
| predicted_AVG | 0.167 | -0.023 |
| predicted_BB | 1.000 | 0.458 |
| predicted_H | 1.000 | -0.121 |
| predicted_HR | 0.000 | -0.077 |
| predicted_OBP | 0.286 | 0.028 |
| predicted_R | 1.000 | 0.246 |
| predicted_RBI | 1.000 | 0.410 |
| predicted_SLG | 0.333 | 0.017 |
| predicted_SO | 1.000 | -0.411 |
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 | -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 | 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 | - | 9.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 4.000 | 0.2222 | 0.3636 | 0.2222 | 0.2222 | 0.0000 | 0.2222 | 0.2222 | 0.4444 |
| last_10 | 0.20 | 5 | - | 23.000 | 7.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 9.000 | 0.3043 | 0.3846 | 0.3043 | 0.3044 | 0.0000 | 0.1304 | 0.1304 | 0.3913 |
| season | 0.60 | 28 | - | 322.000 | 87.000 | 34.000 | 0.000 | 6.000 | 44.000 | 44.000 | 25.000 | 64.000 | 0.2702 | 0.3228 | 0.4317 | 0.2702 | 0.0186 | 0.1366 | 0.0776 | 0.1988 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6970 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.0840 |
| predicted_AVG | 0.2651 |
| predicted_BB | 0.9310 |
| predicted_H | 2.4080 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.1410 |
| predicted_OBP | 0.3334 |
| predicted_R | 1.3370 |
| predicted_RBI | 1.3390 |
| predicted_SLG | 0.3891 |
| predicted_SO | 2.2900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3740 | 0.6970 | 0.5118 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.5380 | 9.0840 | 5.9046 | model_form_blend |
| predicted_AVG | 0.2470 | 0.2651 | 0.2547 | model_form_blend |
| predicted_BB | 0.2750 | 0.9310 | 0.5549 | model_form_blend |
| predicted_H | 0.3000 | 2.4080 | 1.1995 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0400 | 0.1410 | 0.0831 | model_form_blend |
| predicted_OBP | 0.2850 | 0.3334 | 0.3057 | model_form_blend |
| predicted_R | 0.4840 | 1.3370 | 0.8480 | model_form_blend |
| predicted_RBI | 0.1600 | 1.3390 | 0.6631 | model_form_blend |
| predicted_SLG | 0.3750 | 0.3891 | 0.3810 | model_form_blend |
| predicted_SO | 0.7030 | 2.2900 | 1.3802 | 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 | 91 |
| 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.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 | 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 | 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-3B |
| gameID | 20260526_ATL@BOS |
| game_type | ph |
| mlbID | 655316 |
| note | Flied out for Mayer in the 7th. |
| playerID | 655316 |
| playerName | Andruw Monasterio |
| pos | SS |
| started | False |
| startingPosition | PH |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.3 |
| sl_xwoba | 0.303 |
| sl_xba | 0.263 |
| sl_xslg | 0.374 |
| sl_sweet_spot_percent | 38.8 |
| sl_barrel_batted_rate | 6.0 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 20.0 |
| sl_whiff_percent | 17.8 |
| sl_swing_percent | 46.9 |
| at_bat_number | 75.0 |
| ab_pitcher | 628452.0 |
| ab_pitcher_name | Iglesias, Raisel |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_on_2b_start | 686765.0 |
| ab_on_3b_start | 681508.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 7.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 7.0 |
| ab_event | strikeout |
| ab_event_description | Andruw Monasterio called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 9.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 | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 7.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 7.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.44 |
| ab_release_spin_rate_avg | 2175.2 |
| ab_effective_speed_avg | 92.54 |
| ab_delta_run_exp_avg | -0.0772 |
| ab_delta_home_win_exp_avg | -0.0168 |
| ab_delta_pitcher_run_exp_avg | 0.0772 |
| ab_bat_speed_avg | 71.7 |
| ab_swing_length_avg | 8.1 |
| ab_release_speed_max | 95.3 |
| ab_release_spin_rate_max | 2343.0 |
| ab_release_speed_min | 88.8 |
| ab_release_spin_rate_min | 1885.0 |
| ab_delta_run_exp_sum | -0.386 |
| ab_delta_home_win_exp_sum | -0.0839999999999999 |
| ab_delta_pitcher_run_exp_sum | 0.386 |
| 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.032 | 0.000 | 0.000 | Hitting_2B | 0.029 | 0.000 | -0.029 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.968 | 4.000 | 5.000 | Hitting_AB | 2.710 | 4.000 | 1.290 | 0.000 |
| predicted_AVG | 0.300 | 0.250 | 0.200 | Hitting_AVG | 0.294 | 0.250 | -0.044 | 0.000 |
| predicted_BB | 0.333 | 0.000 | 1.000 | Hitting_BB | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 0.600 | 1.000 | 1.000 | Hitting_H | 0.797 | 1.000 | 0.203 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_OBP | 0.342 | 0.250 | 0.333 | Hitting_OBP | 0.365 | 0.250 | -0.115 | 0.000 |
| predicted_R | 0.524 | 0.000 | 1.000 | Hitting_R | 0.478 | 1.000 | -0.478 | -1.000 |
| predicted_RBI | 0.430 | 0.000 | 1.000 | Hitting_RBI | 0.493 | 1.000 | -0.493 | -1.000 |
| predicted_SLG | 0.420 | 0.250 | 0.200 | Hitting_SLG | 0.369 | 0.250 | -0.119 | 0.000 |
| predicted_SO | 0.444 | 1.000 | 1.000 | Hitting_SO | 0.406 | 1.000 | 0.594 | 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_AB: 2.9680 -> 4.0000 (boost 1.0320, better) |
| Biggest Deboost | predicted_R: 0.5240 -> 0.0000 (deboost -0.5240, 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: 2.9680 -> 4.9258 (boost 1.9578, 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.9770 -> 0.8691 (deboost -0.1079, 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.5223 -> 1.0000 (boost 0.4777, better) | predicted_H: 1.2248 -> 1.0000 (deboost -0.2248, worse) | AB rounded to 5 (raw=4.93), rates preserved: AVG=0.249 HR/AB=0.030 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7976 -> 1.0000 (boost 0.2024, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3207 -> 0.3330 (boost 0.0123, better) | predicted_SLG: 0.3533 -> 0.2000 (deboost -0.1533, 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: 5.0000 -> 4.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.2000 -> 0.3533 (boost 0.1533, better) | predicted_OBP: 0.3330 -> 0.3207 (deboost -0.0123, worse) | 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.032,
"predicted_3B": 0.0,
"predicted_AB": 2.968,
"predicted_AVG": 0.3,
"predicted_BB": 0.333,
"predicted_H": 0.6,
"predicted_HR": 0.08,
"predicted_OBP": 0.342,
"predicted_R": 0.524,
"predicted_RBI": 0.43,
"predicted_SLG": 0.42,
"predicted_SO": 0.444
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0708,
"predicted_3B": 0.0017,
"predicted_AB": 4.9258,
"predicted_AVG": 0.3003,
"predicted_BB": 0.5342,
"predicted_H": 1.3101,
"predicted_HBP": 0.009,
"predicted_HR": 0.1593,
"predicted_OBP": 0.353,
"predicted_R": 0.8966,
"predicted_RBI": 0.977,
"predicted_SLG": 0.4218,
"predicted_SO": 0.7761
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.032,
"after": 0.0708,
"delta": 0.0388,
"percent_delta": 1.2125,
"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.968,
"after": 4.9258,
"delta": 1.9578,
"percent_delta": 0.6596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3003,
"delta": 0.0003,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.333,
"after": 0.5342,
"delta": 0.2012,
"percent_delta": 0.6042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6,
"after": 1.3101,
"delta": 0.7101,
"percent_delta": 1.1835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1593,
"delta": 0.0793,
"percent_delta": 0.9912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.342,
"after": 0.353,
"delta": 0.011,
"percent_delta": 0.0322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.524,
"after": 0.8966,
"delta": 0.3726,
"percent_delta": 0.7111,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.977,
"delta": 0.547,
"percent_delta": 1.2721,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.4218,
"delta": 0.0018,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.444,
"after": 0.7761,
"delta": 0.3321,
"percent_delta": 0.748,
"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": 2.968,
"after": 4.9258,
"delta": 1.9578,
"percent_delta": 0.6596,
"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": 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.0708,
"predicted_3B": 0.0017,
"predicted_AB": 4.9258,
"predicted_AVG": 0.2487,
"predicted_BB": 0.5223,
"predicted_H": 1.2248,
"predicted_HBP": 0.009,
"predicted_HR": 0.1471,
"predicted_OBP": 0.3207,
"predicted_R": 0.7976,
"predicted_RBI": 0.8691,
"predicted_SLG": 0.3533,
"predicted_SO": 0.7934
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0708,
"after": 0.0708,
"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": 4.9258,
"after": 4.9258,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3003,
"after": 0.2487,
"delta": -0.0516,
"percent_delta": -0.1718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5342,
"after": 0.5223,
"delta": -0.0119,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3101,
"after": 1.2248,
"delta": -0.0853,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1593,
"after": 0.1471,
"delta": -0.0122,
"percent_delta": -0.0766,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3207,
"delta": -0.0323,
"percent_delta": -0.0915,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8966,
"after": 0.7976,
"delta": -0.099,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.977,
"after": 0.8691,
"delta": -0.1079,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4218,
"after": 0.3533,
"delta": -0.0685,
"percent_delta": -0.1624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7761,
"after": 0.7934,
"delta": 0.0173,
"percent_delta": 0.0223,
"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.977,
"after": 0.8691,
"delta": -0.1079,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.93), rates preserved: AVG=0.249 HR/AB=0.030",
"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.0708,
"after": 0.0,
"delta": -0.0708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 4.9258,
"after": 5.0,
"delta": 0.0742,
"percent_delta": 0.0151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2248,
"after": 1.0,
"delta": -0.2248,
"percent_delta": -0.1835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1471,
"after": 0.0,
"delta": -0.1471,
"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.7934,
"after": 1.0,
"delta": 0.2066,
"percent_delta": 0.2604,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5223,
"after": 1.0,
"delta": 0.4777,
"percent_delta": 0.9146,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2248,
"after": 1.0,
"delta": -0.2248,
"percent_delta": -0.1835,
"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": 5.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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.7976,
"after": 1.0,
"delta": 0.2024,
"percent_delta": 0.2538,
"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.7976,
"after": 1.0,
"delta": 0.2024,
"percent_delta": 0.2538,
"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": 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.2487,
"after": 0.2,
"delta": -0.0487,
"percent_delta": -0.1958,
"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.3207,
"after": 0.333,
"delta": 0.0123,
"percent_delta": 0.0384,
"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.3533,
"after": 0.2,
"delta": -0.1533,
"percent_delta": -0.4339,
"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.3207,
"after": 0.333,
"delta": 0.0123,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3533,
"after": 0.2,
"delta": -0.1533,
"percent_delta": -0.4339,
"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": 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": 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": 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.2487,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3207,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3533,
"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.2487,
"delta": 0.0487,
"percent_delta": 0.2433,
"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.3207,
"delta": -0.0123,
"percent_delta": -0.037,
"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.3533,
"delta": 0.1533,
"percent_delta": 0.7664,
"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.3533,
"delta": 0.1533,
"percent_delta": 0.7664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3207,
"delta": -0.0123,
"percent_delta": -0.037,
"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.032,
"after": 0.0,
"delta": -0.032,
"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.968,
"after": 4.0,
"delta": 1.032,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2487,
"delta": -0.0513,
"percent_delta": -0.171,
"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.6,
"after": 1.0,
"delta": 0.4,
"percent_delta": 0.6667,
"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.342,
"after": 0.3207,
"delta": -0.0213,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"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.43,
"after": 0.0,
"delta": -0.43,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.42,
"after": 0.3533,
"delta": -0.0667,
"percent_delta": -0.1588,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"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": 2.968,
"after": 4.0,
"delta": 1.032,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.524,
"after": 0.0,
"delta": -0.524,
"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.032 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.968 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.333 | - |
| predicted_H | 0.600 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.342 | - |
| predicted_R | 0.524 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.420 | - |
| predicted_SO | 0.444 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.071 | 0.039 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.926 | 1.958 |
| predicted_AVG | 0.300 | 0.000 |
| predicted_BB | 0.534 | 0.201 |
| predicted_H | 1.310 | 0.710 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.159 | 0.079 |
| predicted_OBP | 0.353 | 0.011 |
| predicted_R | 0.897 | 0.373 |
| predicted_RBI | 0.977 | 0.547 |
| predicted_SLG | 0.422 | 0.002 |
| predicted_SO | 0.776 | 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.071 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.926 | 0.000 |
| predicted_AVG | 0.249 | -0.052 |
| predicted_BB | 0.522 | -0.012 |
| predicted_H | 1.225 | -0.085 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.147 | -0.012 |
| predicted_OBP | 0.321 | -0.032 |
| predicted_R | 0.798 | -0.099 |
| predicted_RBI | 0.869 | -0.108 |
| predicted_SLG | 0.353 | -0.069 |
| predicted_SO | 0.793 | 0.017 |
AB rounded to 5 (raw=4.93), rates preserved: AVG=0.249 HR/AB=0.030
| 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 | - |
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 | 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 | 1.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | 0.000 |
| BB | 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.071 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 5.000 | 0.074 |
| predicted_AVG | 0.200 | -0.049 |
| predicted_BB | 1.000 | 0.478 |
| predicted_H | 1.000 | -0.225 |
| predicted_HR | 0.000 | -0.147 |
| predicted_OBP | 0.333 | 0.012 |
| predicted_R | 1.000 | 0.202 |
| predicted_RBI | 1.000 | 0.131 |
| predicted_SLG | 0.200 | -0.153 |
| predicted_SO | 1.000 | 0.207 |
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 | -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 | - | 19.000 | 6.000 | 0.000 | 0.000 | 1.000 | 7.000 | 5.000 | 1.000 | 4.000 | 0.3158 | 0.3500 | 0.4737 | 0.3158 | 0.0526 | 0.3684 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 4 | - | 32.000 | 13.000 | 1.000 | 0.000 | 4.000 | 18.000 | 8.000 | 5.000 | 4.000 | 0.4062 | 0.4865 | 0.8125 | 0.4062 | 0.1250 | 0.5625 | 0.1562 | 0.1250 |
| season | 0.60 | 23 | - | 187.000 | 55.000 | 2.000 | 0.000 | 4.000 | 34.000 | 33.000 | 21.000 | 28.000 | 0.2941 | 0.3654 | 0.3690 | 0.2941 | 0.0214 | 0.1818 | 0.1123 | 0.1497 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1260 |
| predicted_3B | 0.0040 |
| predicted_AB | 7.7070 |
| predicted_AVG | 0.3008 |
| predicted_BB | 0.8200 |
| predicted_H | 2.3190 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.2720 |
| predicted_OBP | 0.3686 |
| predicted_R | 1.4260 |
| predicted_RBI | 1.7540 |
| predicted_SLG | 0.4243 |
| predicted_SO | 1.2480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0320 | 0.1260 | 0.0708 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 2.9680 | 7.7070 | 4.9258 | model_form_blend |
| predicted_AVG | 0.3000 | 0.3008 | 0.3003 | model_form_blend |
| predicted_BB | 0.3330 | 0.8200 | 0.5342 | model_form_blend |
| predicted_H | 0.6000 | 2.3190 | 1.3101 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0800 | 0.2720 | 0.1593 | model_form_blend |
| predicted_OBP | 0.3420 | 0.3686 | 0.3530 | model_form_blend |
| predicted_R | 0.5240 | 1.4260 | 0.8966 | model_form_blend |
| predicted_RBI | 0.4300 | 1.7540 | 0.9770 | model_form_blend |
| predicted_SLG | 0.4200 | 0.4243 | 0.4218 | model_form_blend |
| predicted_SO | 0.4440 | 1.2480 | 0.7761 | 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 | 69 |
| Season rows before report date | 69 |
| Report year | 2026 |
| Profile rows used | 63 |
| 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.294 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260527_ATL@BOS |
| game_type | full |
| mlbID | 643396 |
| playerID | 643396 |
| playerName | Isiah Kiner-Falefa |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-27 |
| game_pk | 824756.0 |
| sl_k_percent | 14.8 |
| sl_bb_percent | 9.8 |
| sl_woba | 0.327 |
| sl_xwoba | 0.302 |
| sl_xba | 0.256 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 39.1 |
| sl_barrel_batted_rate | 4.4 |
| sl_hard_hit_percent | 19.6 |
| sl_exit_velocity_avg | 82.8 |
| sl_launch_angle_avg | 10.5 |
| sl_whiff_percent | 15.2 |
| sl_swing_percent | 50.8 |
| at_bat_number | 64.0 |
| ab_pitcher | 471911.0 |
| ab_pitcher_name | Carrasco, Carlos |
| ab_home_team | BOS |
| ab_away_team | ATL |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 691785.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 7.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 7.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Isiah Kiner-Falefa strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 75.8 |
| ab_launch_angle_last | 78.0 |
| ab_hit_distance_last | 135.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 | 7.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 7.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 88.425 |
| ab_release_spin_rate_avg | 1634.0 |
| ab_effective_speed_avg | 89.7 |
| ab_launch_speed_avg | 75.8 |
| ab_launch_angle_avg | 78.0 |
| ab_delta_run_exp_avg | -0.06675 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.06675 |
| ab_bat_speed_avg | 55.13333333333333 |
| ab_swing_length_avg | 7.2 |
| ab_launch_speed_max | 75.8 |
| ab_hit_distance_sc_max | 135.0 |
| ab_release_speed_max | 91.9 |
| ab_release_spin_rate_max | 2138.0 |
| ab_release_speed_min | 84.7 |
| ab_release_spin_rate_min | 1154.0 |
| ab_delta_run_exp_sum | -0.267 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.267 |
| 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.162 | 0.000 | 0.000 | Hitting_2B | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.162 | 2.000 | 6.000 | Hitting_AB | 3.106 | 3.000 | -1.106 | -1.000 |
| predicted_AVG | 0.247 | 0.000 | 0.167 | Hitting_AVG | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_BB | 0.324 | 0.000 | 1.000 | Hitting_BB | 0.319 | 1.000 | -0.319 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 0.000 | 1.000 | Hitting_H | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_OBP | 0.323 | 0.333 | 0.286 | Hitting_OBP | 0.297 | 0.250 | 0.036 | 0.083 |
| predicted_R | 0.414 | 0.000 | 1.000 | Hitting_R | 0.407 | 0.000 | -0.407 | 0.000 |
| predicted_RBI | 0.220 | 0.000 | 0.000 | Hitting_RBI | 0.097 | 0.000 | -0.097 | 0.000 |
| predicted_SLG | 0.344 | 0.000 | 0.167 | Hitting_SLG | 0.322 | 0.000 | -0.322 | 0.000 |
| predicted_SO | 1.045 | 0.000 | 2.000 | Hitting_SO | 1.027 | 2.000 | -1.027 | -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_AB: 3.1620 -> 2.0000 (deboost -1.1620, 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.1620 -> 5.9017 (boost 2.7397, better) | predicted_SLG: 0.3440 -> 0.3199 (deboost -0.0241, 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.7737 -> 0.6883 (deboost -0.0854, 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.7654 -> 1.0000 (boost 0.2346, better) | predicted_2B: 0.2607 -> 0.0000 (deboost -0.2607, worse) | AB rounded to 6 (raw=5.90), rates preserved: AVG=0.187 HR/AB=0.017 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6883 -> 1.0000 (boost 0.3117, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2806 -> 0.2860 (boost 0.0054, better) | predicted_SLG: 0.2833 -> 0.1670 (deboost -0.1163, 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 -> 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.2833 (boost 0.1163, better) | predicted_OBP: 0.2860 -> 0.2806 (deboost -0.0054, 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.162,
"predicted_3B": 0.0,
"predicted_AB": 3.162,
"predicted_AVG": 0.247,
"predicted_BB": 0.324,
"predicted_H": 0.67,
"predicted_HR": 0.07,
"predicted_OBP": 0.323,
"predicted_R": 0.414,
"predicted_RBI": 0.22,
"predicted_SLG": 0.344,
"predicted_SO": 1.045
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.2607,
"predicted_3B": 0.0013,
"predicted_AB": 5.9017,
"predicted_AVG": 0.2248,
"predicted_BB": 0.7829,
"predicted_H": 1.1821,
"predicted_HBP": 0.146,
"predicted_HR": 0.1095,
"predicted_OBP": 0.3157,
"predicted_R": 0.7737,
"predicted_RBI": 0.2578,
"predicted_SLG": 0.3199,
"predicted_SO": 2.0942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.2607,
"delta": 0.0987,
"percent_delta": 0.6093,
"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.162,
"after": 5.9017,
"delta": 2.7397,
"percent_delta": 0.8664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2248,
"delta": -0.0222,
"percent_delta": -0.0899,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.324,
"after": 0.7829,
"delta": 0.4589,
"percent_delta": 1.4164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.1821,
"delta": 0.5121,
"percent_delta": 0.7643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.1095,
"delta": 0.0395,
"percent_delta": 0.5643,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.323,
"after": 0.3157,
"delta": -0.0073,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.414,
"after": 0.7737,
"delta": 0.3597,
"percent_delta": 0.8688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.22,
"after": 0.2578,
"delta": 0.0378,
"percent_delta": 0.1718,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3199,
"delta": -0.0241,
"percent_delta": -0.0701,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.045,
"after": 2.0942,
"delta": 1.0492,
"percent_delta": 1.004,
"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.162,
"after": 5.9017,
"delta": 2.7397,
"percent_delta": 0.8664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3199,
"delta": -0.0241,
"percent_delta": -0.0701,
"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": 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.2607,
"predicted_3B": 0.0013,
"predicted_AB": 5.9017,
"predicted_AVG": 0.1873,
"predicted_BB": 0.7654,
"predicted_H": 1.1051,
"predicted_HBP": 0.146,
"predicted_HR": 0.1011,
"predicted_OBP": 0.2806,
"predicted_R": 0.6883,
"predicted_RBI": 0.2293,
"predicted_SLG": 0.2833,
"predicted_SO": 2.1409
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2607,
"after": 0.2607,
"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.9017,
"after": 5.9017,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2248,
"after": 0.1873,
"delta": -0.0375,
"percent_delta": -0.1668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7829,
"after": 0.7654,
"delta": -0.0175,
"percent_delta": -0.0224,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1821,
"after": 1.1051,
"delta": -0.077,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.146,
"after": 0.146,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1095,
"after": 0.1011,
"delta": -0.0084,
"percent_delta": -0.0767,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3157,
"after": 0.2806,
"delta": -0.0351,
"percent_delta": -0.1112,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7737,
"after": 0.6883,
"delta": -0.0854,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2578,
"after": 0.2293,
"delta": -0.0285,
"percent_delta": -0.1106,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3199,
"after": 0.2833,
"delta": -0.0366,
"percent_delta": -0.1144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0942,
"after": 2.1409,
"delta": 0.0467,
"percent_delta": 0.0223,
"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.7737,
"after": 0.6883,
"delta": -0.0854,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.90), rates preserved: AVG=0.187 HR/AB=0.017",
"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.2607,
"after": 0.0,
"delta": -0.2607,
"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.9017,
"after": 6.0,
"delta": 0.0983,
"percent_delta": 0.0167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7654,
"after": 1.0,
"delta": 0.2346,
"percent_delta": 0.3065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1051,
"after": 1.0,
"delta": -0.1051,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.146,
"after": 0.0,
"delta": -0.146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1011,
"after": 0.0,
"delta": -0.1011,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2293,
"after": 0.0,
"delta": -0.2293,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1409,
"after": 2.0,
"delta": -0.1409,
"percent_delta": -0.0658,
"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.7654,
"after": 1.0,
"delta": 0.2346,
"percent_delta": 0.3065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2607,
"after": 0.0,
"delta": -0.2607,
"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.6883,
"after": 1.0,
"delta": 0.3117,
"percent_delta": 0.4529,
"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.6883,
"after": 1.0,
"delta": 0.3117,
"percent_delta": 0.4529,
"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.1873,
"after": 0.167,
"delta": -0.0203,
"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_H",
"before": 1.0,
"after": 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.2806,
"after": 0.286,
"delta": 0.0054,
"percent_delta": 0.0192,
"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.2833,
"after": 0.167,
"delta": -0.1163,
"percent_delta": -0.4105,
"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.2806,
"after": 0.286,
"delta": 0.0054,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2833,
"after": 0.167,
"delta": -0.1163,
"percent_delta": -0.4105,
"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": 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": 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": 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": 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": 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": 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.1873,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2806,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2833,
"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.167,
"after": 0.1873,
"delta": 0.0203,
"percent_delta": 0.1213,
"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.286,
"after": 0.2806,
"delta": -0.0054,
"percent_delta": -0.019,
"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.2833,
"delta": 0.1163,
"percent_delta": 0.6962,
"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.2833,
"delta": 0.1163,
"percent_delta": 0.6962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2806,
"delta": -0.0054,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.162,
"after": 2.0,
"delta": -1.162,
"percent_delta": -0.3675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.1873,
"delta": -0.0597,
"percent_delta": -0.2417,
"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.67,
"after": 0.0,
"delta": -0.67,
"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.323,
"after": 0.2806,
"delta": -0.0424,
"percent_delta": -0.1313,
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.2833,
"delta": -0.0607,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.045,
"after": 0.0,
"delta": -1.045,
"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_AB",
"before": 3.162,
"after": 2.0,
"delta": -1.162,
"percent_delta": -0.3675,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.162 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.162 | - |
| predicted_AVG | 0.247 | - |
| predicted_BB | 0.324 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.323 | - |
| predicted_R | 0.414 | - |
| predicted_RBI | 0.220 | - |
| predicted_SLG | 0.344 | - |
| predicted_SO | 1.045 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.261 | 0.099 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.902 | 2.740 |
| predicted_AVG | 0.225 | -0.022 |
| predicted_BB | 0.783 | 0.459 |
| predicted_H | 1.182 | 0.512 |
| predicted_HBP | 0.146 | - |
| predicted_HR | 0.110 | 0.039 |
| predicted_OBP | 0.316 | -0.007 |
| predicted_R | 0.774 | 0.360 |
| predicted_RBI | 0.258 | 0.038 |
| predicted_SLG | 0.320 | -0.024 |
| predicted_SO | 2.094 | 1.049 |
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.001 | 0.000 |
| predicted_AB | 5.902 | 0.000 |
| predicted_AVG | 0.187 | -0.038 |
| predicted_BB | 0.765 | -0.018 |
| predicted_H | 1.105 | -0.077 |
| predicted_HBP | 0.146 | 0.000 |
| predicted_HR | 0.101 | -0.008 |
| predicted_OBP | 0.281 | -0.035 |
| predicted_R | 0.688 | -0.085 |
| predicted_RBI | 0.229 | -0.028 |
| predicted_SLG | 0.283 | -0.037 |
| predicted_SO | 2.141 | 0.047 |
AB rounded to 6 (raw=5.90), rates preserved: AVG=0.187 HR/AB=0.017
| 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.261 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.098 |
| predicted_AVG | 0.167 | -0.020 |
| predicted_BB | 1.000 | 0.235 |
| predicted_H | 1.000 | -0.105 |
| predicted_HR | 0.000 | -0.101 |
| predicted_OBP | 0.286 | 0.005 |
| predicted_R | 1.000 | 0.312 |
| predicted_RBI | 0.000 | -0.229 |
| predicted_SLG | 0.167 | -0.116 |
| predicted_SO | 2.000 | -0.141 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 1.000 | 1.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 | -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 | - | 15.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 9.000 | 0.0667 | 0.3000 | 0.0667 | 0.0667 | 0.0000 | 0.0000 | 0.3333 | 0.6000 |
| last_10 | 0.20 | 4 | - | 30.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 10.000 | 15.000 | 0.1667 | 0.3750 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.3333 | 0.5000 |
| season | 0.60 | 33 | - | 351.000 | 74.000 | 18.000 | 0.000 | 7.000 | 11.000 | 46.000 | 36.000 | 116.000 | 0.2108 | 0.2970 | 0.3219 | 0.2108 | 0.0199 | 0.0313 | 0.1026 | 0.3305 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3920 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.5440 |
| predicted_AVG | 0.1952 |
| predicted_BB | 1.3930 |
| predicted_H | 1.8630 |
| predicted_HBP | 0.1460 |
| predicted_HR | 0.1620 |
| predicted_OBP | 0.3061 |
| predicted_R | 1.2520 |
| predicted_RBI | 0.3080 |
| predicted_SLG | 0.2878 |
| predicted_SO | 3.4890 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1620 | 0.3920 | 0.2607 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.1620 | 9.5440 | 5.9017 | model_form_blend |
| predicted_AVG | 0.2470 | 0.1952 | 0.2248 | model_form_blend |
| predicted_BB | 0.3240 | 1.3930 | 0.7829 | model_form_blend |
| predicted_H | 0.6700 | 1.8630 | 1.1821 | model_form_blend |
| predicted_HBP | - | 0.1460 | 0.1460 | form_only |
| predicted_HR | 0.0700 | 0.1620 | 0.1095 | model_form_blend |
| predicted_OBP | 0.3230 | 0.3061 | 0.3157 | model_form_blend |
| predicted_R | 0.4140 | 1.2520 | 0.7737 | model_form_blend |
| predicted_RBI | 0.2200 | 0.3080 | 0.2578 | model_form_blend |
| predicted_SLG | 0.3440 | 0.2878 | 0.3199 | model_form_blend |
| predicted_SO | 1.0450 | 3.4890 | 2.0942 | 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 | 111 |
| 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 | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| 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 | 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 | 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 | 20260524_MIN@BOS |
| 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-24 |
| game_pk | 824759.0 |
| sl_k_percent | 28.9 |
| sl_bb_percent | 8.8 |
| sl_woba | 0.288 |
| sl_xwoba | 0.291 |
| sl_xba | 0.223 |
| sl_xslg | 0.34 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 52.6 |
| at_bat_number | 77.0 |
| ab_pitcher | 672782.0 |
| ab_pitcher_name | Gómez, Yoendrys |
| ab_home_team | BOS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_on_3b_start | 686765.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 6.0 |
| ab_event | walk |
| ab_event_description | Carlos Narváez walks. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 81.1 |
| ab_launch_angle_last | 60.0 |
| ab_hit_distance_last | 216.0 |
| ab_estimated_woba_last | 0.702667 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 6.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 92.25 |
| ab_release_spin_rate_avg | 2278.1666666666665 |
| ab_effective_speed_avg | 93.45 |
| ab_launch_speed_avg | 81.1 |
| ab_launch_angle_avg | 60.0 |
| ab_delta_run_exp_avg | 0.0466666666666666 |
| ab_delta_home_win_exp_avg | 0.024 |
| ab_delta_pitcher_run_exp_avg | -0.0466666666666666 |
| ab_bat_speed_avg | 67.3 |
| ab_swing_length_avg | 6.75 |
| ab_launch_speed_max | 81.1 |
| ab_hit_distance_sc_max | 216.0 |
| ab_release_speed_max | 94.7 |
| ab_release_spin_rate_max | 2346.0 |
| ab_release_speed_min | 86.7 |
| ab_release_spin_rate_min | 2212.0 |
| ab_delta_run_exp_sum | 0.28 |
| ab_delta_home_win_exp_sum | 0.144 |
| ab_delta_pitcher_run_exp_sum | -0.28 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.201 | 0.000 | 0.000 | Hitting_2B | 0.199 | 0.000 | -0.199 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.415 | 3.000 | 6.000 | Hitting_AB | 3.373 | 2.000 | -0.373 | 1.000 |
| predicted_AVG | 0.214 | 0.000 | 0.167 | Hitting_AVG | 0.177 | 0.000 | -0.177 | 0.000 |
| predicted_BB | 0.280 | 0.000 | 0.000 | Hitting_BB | 0.277 | 0.000 | -0.277 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.048 | 0.000 | -0.048 | 0.000 |
| predicted_H | 0.610 | 0.000 | 1.000 | Hitting_H | 0.596 | 0.000 | -0.596 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_OBP | 0.244 | 0.000 | 0.167 | Hitting_OBP | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_R | 0.396 | 0.000 | 1.000 | Hitting_R | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.392 | 0.000 | -0.392 | 0.000 |
| predicted_SLG | 0.278 | 0.000 | 0.167 | Hitting_SLG | 0.263 | 0.000 | -0.263 | 0.000 |
| predicted_SO | 0.567 | 0.000 | 1.000 | Hitting_SO | 0.560 | 0.000 | -0.560 | 0.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.6100 -> 0.0000 (deboost -0.6100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 7 | 3 | 6 | 4 | predicted_AB: 3.4150 -> 6.3001 (boost 2.8851, better) | predicted_AVG: 0.2140 -> 0.1890 (deboost -0.0250, 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: 0.8812 -> 0.7839 (deboost -0.0973, 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.7839 -> 1.0000 (boost 0.2161, better) | predicted_BB: 0.4210 -> 0.0000 (deboost -0.4210, worse) | AB rounded to 6 (raw=6.30), rates preserved: AVG=0.153 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5445 -> 1.0000 (boost 0.4555, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.1527 -> 0.1670 (boost 0.0143, better) | predicted_SLG: 0.2295 -> 0.1670 (deboost -0.0625, 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.1670 -> 0.2295 (boost 0.0625, better) | predicted_AVG: 0.1670 -> 0.1527 (deboost -0.0143, worse) | 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.201,
"predicted_3B": 0.0,
"predicted_AB": 3.415,
"predicted_AVG": 0.214,
"predicted_BB": 0.28,
"predicted_H": 0.61,
"predicted_HR": 0.05,
"predicted_OBP": 0.244,
"predicted_R": 0.396,
"predicted_RBI": 0.36,
"predicted_SLG": 0.278,
"predicted_SO": 0.567
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.3075,
"predicted_3B": 0.0009,
"predicted_AB": 6.3001,
"predicted_AVG": 0.189,
"predicted_BB": 0.4306,
"predicted_H": 1.0291,
"predicted_HBP": 0.209,
"predicted_HR": 0.0631,
"predicted_OBP": 0.2327,
"predicted_R": 0.6121,
"predicted_RBI": 0.8812,
"predicted_SLG": 0.255,
"predicted_SO": 0.9656
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.201,
"after": 0.3075,
"delta": 0.1065,
"percent_delta": 0.5299,
"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.415,
"after": 6.3001,
"delta": 2.8851,
"percent_delta": 0.8448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.189,
"delta": -0.025,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 0.4306,
"delta": 0.1506,
"percent_delta": 0.5379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 1.0291,
"delta": 0.4191,
"percent_delta": 0.687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0631,
"delta": 0.0131,
"percent_delta": 0.262,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.244,
"after": 0.2327,
"delta": -0.0113,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.6121,
"delta": 0.2161,
"percent_delta": 0.5457,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.8812,
"delta": 0.5212,
"percent_delta": 1.4478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.278,
"after": 0.255,
"delta": -0.023,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.567,
"after": 0.9656,
"delta": 0.3986,
"percent_delta": 0.703,
"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.415,
"after": 6.3001,
"delta": 2.8851,
"percent_delta": 0.8448,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.189,
"delta": -0.025,
"percent_delta": -0.1168,
"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": 5,
"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.3075,
"predicted_3B": 0.0009,
"predicted_AB": 6.3001,
"predicted_AVG": 0.1527,
"predicted_BB": 0.421,
"predicted_H": 0.9621,
"predicted_HBP": 0.209,
"predicted_HR": 0.0583,
"predicted_OBP": 0.2058,
"predicted_R": 0.5445,
"predicted_RBI": 0.7839,
"predicted_SLG": 0.2295,
"predicted_SO": 0.9871
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3075,
"after": 0.3075,
"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.3001,
"after": 6.3001,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.189,
"after": 0.1527,
"delta": -0.0363,
"percent_delta": -0.1921,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4306,
"after": 0.421,
"delta": -0.0096,
"percent_delta": -0.0223,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0291,
"after": 0.9621,
"delta": -0.067,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.209,
"after": 0.209,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0631,
"after": 0.0583,
"delta": -0.0048,
"percent_delta": -0.0761,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2327,
"after": 0.2058,
"delta": -0.0269,
"percent_delta": -0.1156,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6121,
"after": 0.5445,
"delta": -0.0676,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8812,
"after": 0.7839,
"delta": -0.0973,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.255,
"after": 0.2295,
"delta": -0.0255,
"percent_delta": -0.1,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9656,
"after": 0.9871,
"delta": 0.0215,
"percent_delta": 0.0223,
"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.8812,
"after": 0.7839,
"delta": -0.0973,
"percent_delta": -0.1104,
"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.153 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.3075,
"after": 0.0,
"delta": -0.3075,
"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.3001,
"after": 6.0,
"delta": -0.3001,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9621,
"after": 1.0,
"delta": 0.0379,
"percent_delta": 0.0394,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.209,
"after": 0.0,
"delta": -0.209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0583,
"after": 0.0,
"delta": -0.0583,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7839,
"after": 1.0,
"delta": 0.2161,
"percent_delta": 0.2757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9871,
"after": 1.0,
"delta": 0.0129,
"percent_delta": 0.0131,
"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.7839,
"after": 1.0,
"delta": 0.2161,
"percent_delta": 0.2757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.421,
"after": 0.0,
"delta": -0.421,
"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.5445,
"after": 1.0,
"delta": 0.4555,
"percent_delta": 0.8365,
"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.5445,
"after": 1.0,
"delta": 0.4555,
"percent_delta": 0.8365,
"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.1527,
"after": 0.167,
"delta": 0.0143,
"percent_delta": 0.0936,
"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.2058,
"after": 0.167,
"delta": -0.0388,
"percent_delta": -0.1885,
"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.2295,
"after": 0.167,
"delta": -0.0625,
"percent_delta": -0.2723,
"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.1527,
"after": 0.167,
"delta": 0.0143,
"percent_delta": 0.0936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2295,
"after": 0.167,
"delta": -0.0625,
"percent_delta": -0.2723,
"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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.1527,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2058,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2295,
"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.1527,
"delta": -0.0143,
"percent_delta": -0.0856,
"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.167,
"after": 0.2058,
"delta": 0.0388,
"percent_delta": 0.2322,
"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.2295,
"delta": 0.0625,
"percent_delta": 0.3745,
"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.2295,
"delta": 0.0625,
"percent_delta": 0.3745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.167,
"after": 0.1527,
"delta": -0.0143,
"percent_delta": -0.0856,
"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.201,
"after": 0.0,
"delta": -0.201,
"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.415,
"after": 3.0,
"delta": -0.415,
"percent_delta": -0.1215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.1527,
"delta": -0.0613,
"percent_delta": -0.2864,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.28,
"after": 0.0,
"delta": -0.28,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.244,
"after": 0.2058,
"delta": -0.0382,
"percent_delta": -0.1566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.396,
"after": 0.0,
"delta": -0.396,
"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.278,
"after": 0.2295,
"delta": -0.0485,
"percent_delta": -0.1745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.567,
"after": 0.0,
"delta": -0.567,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 0,
"deboosted_metrics": 11,
"better_metrics": 1,
"worse_metrics": 10,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.201 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.415 | - |
| predicted_AVG | 0.214 | - |
| predicted_BB | 0.280 | - |
| predicted_H | 0.610 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.244 | - |
| predicted_R | 0.396 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.278 | - |
| predicted_SO | 0.567 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.307 | 0.106 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.300 | 2.885 |
| predicted_AVG | 0.189 | -0.025 |
| predicted_BB | 0.431 | 0.151 |
| predicted_H | 1.029 | 0.419 |
| predicted_HBP | 0.209 | - |
| predicted_HR | 0.063 | 0.013 |
| predicted_OBP | 0.233 | -0.011 |
| predicted_R | 0.612 | 0.216 |
| predicted_RBI | 0.881 | 0.521 |
| predicted_SLG | 0.255 | -0.023 |
| predicted_SO | 0.966 | 0.399 |
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.307 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.300 | 0.000 |
| predicted_AVG | 0.153 | -0.036 |
| predicted_BB | 0.421 | -0.010 |
| predicted_H | 0.962 | -0.067 |
| predicted_HBP | 0.209 | 0.000 |
| predicted_HR | 0.058 | -0.005 |
| predicted_OBP | 0.206 | -0.027 |
| predicted_R | 0.544 | -0.068 |
| predicted_RBI | 0.784 | -0.097 |
| predicted_SLG | 0.230 | -0.025 |
| predicted_SO | 0.987 | 0.021 |
AB rounded to 6 (raw=6.30), rates preserved: AVG=0.153 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 | 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.307 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.300 |
| predicted_AVG | 0.167 | 0.014 |
| predicted_BB | 0.000 | -0.421 |
| predicted_H | 1.000 | 0.038 |
| predicted_HR | 0.000 | -0.058 |
| predicted_OBP | 0.167 | -0.039 |
| predicted_R | 1.000 | 0.456 |
| predicted_RBI | 1.000 | 0.216 |
| predicted_SLG | 0.167 | -0.062 |
| predicted_SO | 1.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 | -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 | 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 | 2 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 5 | - | 23.000 | 3.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.000 | 0.000 | 3.000 | 0.1304 | 0.1304 | 0.1304 | 0.1304 | 0.0000 | 0.2609 | 0.0000 | 0.1304 |
| season | 0.60 | 46 | - | 560.000 | 99.000 | 33.000 | 0.000 | 5.000 | 65.000 | 65.000 | 46.000 | 93.000 | 0.1768 | 0.2588 | 0.2625 | 0.1768 | 0.0089 | 0.1161 | 0.0821 | 0.1661 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4450 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.0240 |
| predicted_AVG | 0.1567 |
| predicted_BB | 0.6250 |
| predicted_H | 1.5700 |
| predicted_HBP | 0.2090 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.2182 |
| predicted_R | 0.8910 |
| predicted_RBI | 1.5540 |
| predicted_SLG | 0.2252 |
| predicted_SO | 1.4800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2010 | 0.4450 | 0.3075 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4150 | 10.0240 | 6.3001 | model_form_blend |
| predicted_AVG | 0.2140 | 0.1567 | 0.1890 | model_form_blend |
| predicted_BB | 0.2800 | 0.6250 | 0.4306 | model_form_blend |
| predicted_H | 0.6100 | 1.5700 | 1.0291 | model_form_blend |
| predicted_HBP | - | 0.2090 | 0.2090 | form_only |
| predicted_HR | 0.0500 | 0.0800 | 0.0631 | model_form_blend |
| predicted_OBP | 0.2440 | 0.2182 | 0.2327 | model_form_blend |
| predicted_R | 0.3960 | 0.8910 | 0.6121 | model_form_blend |
| predicted_RBI | 0.3600 | 1.5540 | 0.8812 | model_form_blend |
| predicted_SLG | 0.2780 | 0.2252 | 0.2550 | model_form_blend |
| predicted_SO | 0.5670 | 1.4800 | 0.9656 | 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 | 166 |
| Season rows before report date | 166 |
| 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 | 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.177 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 9 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260524_MIN@BOS |
| game_type | full |
| mlbID | 702332 |
| playerID | 702332 |
| playerName | Caleb Durbin |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-24 |
| game_pk | 824759.0 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.225 |
| sl_xwoba | 0.262 |
| sl_xba | 0.215 |
| sl_xslg | 0.283 |
| sl_sweet_spot_percent | 22.6 |
| sl_barrel_batted_rate | 1.6 |
| sl_hard_hit_percent | 28.2 |
| sl_exit_velocity_avg | 84.8 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 15.6 |
| sl_swing_percent | 43.0 |
| at_bat_number | 37.0 |
| ab_pitcher | 641927.0 |
| ab_pitcher_name | Ober, Bailey |
| ab_home_team | BOS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 4.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 691785.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Caleb Durbin flies out to left fielder Trevor Larnach. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 78.0 |
| ab_launch_angle_last | 48.0 |
| ab_hit_distance_last | 221.0 |
| ab_estimated_ba_last | 0.066 |
| ab_estimated_woba_last | 0.067 |
| ab_estimated_slg_last | 0.089 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 83.8 |
| ab_release_spin_rate_avg | 2087.6666666666665 |
| ab_effective_speed_avg | 85.60000000000001 |
| ab_launch_speed_avg | 76.0 |
| ab_launch_angle_avg | 31.0 |
| ab_delta_run_exp_avg | -0.09 |
| ab_delta_home_win_exp_avg | -0.0073333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.09 |
| ab_bat_speed_avg | 56.96666666666667 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 78.0 |
| ab_hit_distance_sc_max | 221.0 |
| ab_release_speed_max | 86.6 |
| ab_release_spin_rate_max | 2206.0 |
| ab_release_speed_min | 82.1 |
| ab_release_spin_rate_min | 1950.0 |
| ab_delta_run_exp_sum | -0.27 |
| ab_delta_home_win_exp_sum | -0.022 |
| ab_delta_pitcher_run_exp_sum | 0.27 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.500 | 2.000 | -0.500 | -1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 1.667 | 3.000 | 1.333 | 0.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 3.500 | 4.000 | 0.500 | 0.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 6.033 | 6.000 | -0.033 | 0.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 6.500 | 9.000 | -0.500 | -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 | 3 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_SO: 5.0000 -> 6.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 | 2 | 1 | 1 | 2 | 0 | predicted_SO: 5.0000 -> 6.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 | 1 | 0 | 1 | 1 | 0 | - | predicted_H: 5.0000 -> 4.0000 (deboost -1.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "801139",
"player_name": "Payton Tolle",
"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": 1.0,
"predicted_ER": 4.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.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": "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": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 6.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": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"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": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 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": 4.0,
"predicted_HR": 1.0,
"predicted_IP": 6.0,
"predicted_R": 3.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": 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": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_H",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"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": 4.0,
"after": 3.0,
"delta": -1.0,
"percent_delta": -0.25,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 5.0,
"after": 4.0,
"delta": -1.0,
"percent_delta": -0.2,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 5.0,
"after": 6.0,
"delta": 1.0,
"percent_delta": 0.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_ER",
"before": 4.0,
"after": 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 | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 6.000 | - |
| 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 | 1.000 | 0.000 |
| predicted_ER | 3.000 | -1.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| 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 | 30.200 | 9.000 | 18.000 | 8.000 | 28.000 | 2.000 | 2.6413 | 0.8478 | 0.2935 | 0.5870 | 0.2609 | 0.9130 | 0.0652 |
| last_10 | 0.35 | 6 | 36.200 | 10.000 | 21.000 | 9.000 | 39.000 | 3.000 | 2.4545 | 0.8182 | 0.2727 | 0.5727 | 0.2455 | 1.0636 | 0.0818 |
| season | 0.20 | 6 | 36.200 | 10.000 | 21.000 | 9.000 | 39.000 | 3.000 | 2.4545 | 0.8182 | 0.2727 | 0.5727 | 0.2455 | 1.0636 | 0.0818 |
| Metric | Value |
|---|---|
| predicted_BB | 1.8540 |
| predicted_ER | 2.2360 |
| predicted_ERA | 3.3547 |
| predicted_H | 4.4860 |
| predicted_HR | 0.5780 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.6290 |
| predicted_WHIP | 1.0567 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.8540 | 1.3911 | model_form_blend |
| predicted_ER | 4.0000 | 2.2360 | 3.1921 | model_form_blend |
| predicted_ERA | - | 3.3547 | 3.3547 | form_only |
| predicted_H | 5.0000 | 4.4860 | 4.7646 | model_form_blend |
| predicted_HR | 1.0000 | 0.5780 | 0.8067 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 5.0000 | 5.6290 | 5.2881 | model_form_blend |
| predicted_WHIP | - | 1.0567 | 1.0567 | 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 | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 6.0 |
| H | 4 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 92 |
| 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 | 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 | 25 |
| Pitching_ER | 3 |
| Pitching_ERA | 2.45 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 5 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 85 |
| Pitching_R | 3 |
| Pitching_SO | 9 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260522_MIN@BOS |
| game_type | full |
| mlbID | 801139 |
| playerID | 801139 |
| playerName | Payton Tolle |
| pos | P |
| started | True |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-22 |
| game_pk | 824761.0 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.226 |
| sl_xwoba | 0.237 |
| sl_sweet_spot_percent | 24.2 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 36.3 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 53.5 |
| sv_pitch_count | 85.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 93.64941176470587 |
| sv_release_spin_rate | 2220.0235294117647 |
| sv_effective_speed | 95.17176470588235 |
| sv_launch_speed | 79.1258064516129 |
| sv_launch_angle | 27.967741935483872 |
| sv_woba_value | 6.25 |
| sv_woba_denom | 25.0 |
| sv_delta_run_exp | -1.516 |
| sv_delta_home_win_exp | 0.077 |
| sl_avg_best_speed | 76.5257225 |
| sl_avg_hyper_speed | 93.722146364 |
| 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.056 | 0.000 | -0.056 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.444 | 1.000 | -0.444 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.956 | 1.000 | 0.044 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.278 | 1.000 | -1.278 | -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": "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": 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 | 0.000 | 1.000 | 4.000 | 7.000 | 0.000 | 0.0000 | 1.0000 | 0.0000 | 0.2000 | 0.8000 | 1.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 0.000 | 3.000 | 4.000 | 15.000 | 0.000 | 0.0000 | 0.7000 | 0.0000 | 0.3000 | 0.4000 | 1.5000 | 0.0000 |
| season | 0.20 | 18 | 17.200 | 1.000 | 8.000 | 7.000 | 23.000 | 0.000 | 0.5094 | 0.8491 | 0.0566 | 0.4528 | 0.3962 | 1.3019 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4550 |
| predicted_ER | 0.2820 |
| predicted_ERA | 2.5412 |
| predicted_H | 0.6730 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1380 |
| predicted_WHIP | 1.1284 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4550 | 0.1825 | model_form_blend |
| predicted_ER | 0.0000 | 0.2820 | 0.1131 | model_form_blend |
| predicted_ERA | - | 2.5412 | 2.5412 | form_only |
| predicted_H | 0.0000 | 0.6730 | 0.2699 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0309 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1380 | 0.4564 | model_form_blend |
| predicted_WHIP | - | 1.1284 | 1.1284 | 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 | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.51 |
| 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 | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260520_BOS@KC |
| game_type | full |
| mlbID | 547973 |
| playerID | 547973 |
| playerName | Aroldis Chapman |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-20 |
| sl_k_percent | 33.8 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.211 |
| sl_xwoba | 0.281 |
| sl_sweet_spot_percent | 21.6 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 45.9 |
| sl_whiff_percent | 33.1 |
| sl_swing_percent | 49.6 |
| sl_avg_best_speed | 77.933153889 |
| sl_avg_hyper_speed | 95.944324722 |
| 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.300 | 0.000 | -0.300 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.350 | 1.000 | -0.350 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.800 | 2.000 | -0.800 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.960 | 0.100 | 0.040 | 0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.250 | 1.000 | -0.250 | 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": "676477",
"player_name": "Garrett Whitlock",
"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.0,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 1.000 | 3.000 | 0.000 | 6.000 | 0.000 | 2.0769 | 0.6923 | 0.2308 | 0.6923 | 0.0000 | 1.3846 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 4.000 | 9.000 | 1.000 | 12.000 | 1.000 | 3.7241 | 1.0345 | 0.4138 | 0.9310 | 0.1035 | 1.2414 | 0.1035 |
| season | 0.20 | 20 | 19.200 | 7.000 | 16.000 | 6.000 | 25.000 | 2.000 | 3.2034 | 1.1186 | 0.3559 | 0.8136 | 0.3051 | 1.2712 | 0.1017 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2500 |
| predicted_ER | 0.4050 |
| predicted_ERA | 3.6459 |
| predicted_H | 0.8810 |
| predicted_HR | 0.0990 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1050 |
| predicted_WHIP | 1.1309 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2500 | 0.1030 | model_form_blend |
| predicted_ER | 0.0000 | 0.4050 | 0.1669 | model_form_blend |
| predicted_ERA | - | 3.6459 | 3.6459 | form_only |
| predicted_H | 0.0000 | 0.8810 | 0.3631 | model_form_blend |
| predicted_HR | 0.0000 | 0.0990 | 0.0408 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1050 | 1.0433 | model_form_blend |
| predicted_WHIP | - | 1.1309 | 1.1309 | 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 | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 3 |
| Pitches | 14 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.20 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | BS |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260524_MIN@BOS |
| game_type | full |
| mlbID | 676477 |
| playerID | 676477 |
| playerName | Garrett Whitlock |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-24 |
| game_pk | 824759.0 |
| sl_k_percent | 30.9 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.281 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 32.0 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 32.0 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 53.3 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 88.15714285714286 |
| sv_release_spin_rate | 2071.428571428572 |
| sv_effective_speed | 89.83571428571429 |
| sv_launch_speed | 87.1 |
| sv_launch_angle | 32.8 |
| sv_woba_value | 2.15 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 1.443 |
| sv_delta_home_win_exp | -0.408 |
| sl_avg_best_speed | 77.23907125 |
| sl_avg_hyper_speed | 93.758576667 |
| 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.300 | 1.000 | 0.700 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.400 | 4.000 | 0.600 | -3.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.800 | 4.000 | 0.200 | -3.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.750 | 0.200 | 0.250 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.200 | 1.000 | -0.200 | 0.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: 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 | 2 | 2 | 0 | 0 | 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": "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": 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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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.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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 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": 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": "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": 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.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": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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 | 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 | 1.000 | 0.000 |
| predicted_ER | 1.000 | 1.000 |
| predicted_H | 1.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 1.000 | 0.000 |
| predicted_SO | 2.000 | 0.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 4.000 | 6.000 | 1.000 | 6.000 | 2.000 | 8.3077 | 1.6154 | 0.9231 | 1.3846 | 0.2308 | 1.3846 | 0.4615 |
| last_10 | 0.35 | 10 | 8.200 | 4.000 | 8.000 | 3.000 | 12.000 | 2.000 | 4.1538 | 1.2692 | 0.4615 | 0.9231 | 0.3462 | 1.3846 | 0.2308 |
| season | 0.20 | 10 | 8.200 | 4.000 | 8.000 | 3.000 | 12.000 | 2.000 | 4.1538 | 1.2692 | 0.4615 | 0.9231 | 0.3462 | 1.3846 | 0.2308 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3470 |
| predicted_ER | 0.5350 |
| predicted_ERA | 4.8143 |
| predicted_H | 1.0040 |
| predicted_HR | 0.1900 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0560 |
| predicted_WHIP | 1.3508 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3470 | 0.7811 | model_form_blend |
| predicted_ER | 0.0000 | 0.5350 | 0.1793 | model_form_blend |
| predicted_ERA | - | 4.8143 | 4.8143 | form_only |
| predicted_H | 0.0000 | 1.0040 | 0.3365 | model_form_blend |
| predicted_HR | 0.0000 | 0.1900 | 0.0637 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0560 | 1.6836 | model_form_blend |
| predicted_WHIP | - | 1.3508 | 1.3508 | 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 | 1.0 |
| H | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.15 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.2 |
| Pitching_Pitches | 28 |
| Pitching_R | 4 |
| Pitching_SO | 1 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260522_MIN@BOS |
| game_type | full |
| mlbID | 686580 |
| playerID | 686580 |
| playerName | Justin Slaten |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-22 |
| game_pk | 824761.0 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.316 |
| sl_xwoba | 0.286 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 36.4 |
| sl_whiff_percent | 24.0 |
| sl_swing_percent | 50.0 |
| sv_pitch_count | 28.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 92.51071428571429 |
| sv_release_spin_rate | 2475.535714285714 |
| sv_effective_speed | 93.22857142857144 |
| sv_launch_speed | 82.24615384615385 |
| sv_launch_angle | 10.384615384615383 |
| sv_woba_value | 6.5 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | 3.612 |
| sv_delta_home_win_exp | -0.5549999999999999 |
| sl_avg_best_speed | 76.967014545 |
| sl_avg_hyper_speed | 93.954828636 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.304 | 0.000 | -0.304 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.391 | 0.000 | -0.391 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 1.000 | -1.000 | -1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.765 | 1.000 | -0.765 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.913 | 1.000 | -0.913 | -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.1000 -> 0.0000 (deboost -0.1000, 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.1000 -> 0.0000 (deboost -0.1000, worse) | 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": 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": 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": 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.1,
"after": 0.0,
"delta": -0.1,
"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": 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.1,
"after": 0.0,
"delta": -0.1,
"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 | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.000 | 0.000 | 4.000 | 1.000 | 3.000 | 0.000 | 0.0000 | 0.8333 | 0.0000 | 0.6667 | 0.1667 | 0.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 10.000 | 2.000 | 5.000 | 1.000 | 2.5312 | 1.1250 | 0.2812 | 0.9375 | 0.1875 | 0.4688 | 0.0938 |
| season | 0.20 | 22 | 21.100 | 8.000 | 21.000 | 6.000 | 21.000 | 4.000 | 3.3750 | 1.2656 | 0.3750 | 0.9844 | 0.2812 | 0.9844 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2050 |
| predicted_ER | 0.2370 |
| predicted_ERA | 3.0163 |
| predicted_H | 0.6280 |
| predicted_HR | 0.0730 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5510 |
| predicted_WHIP | 1.1795 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2050 | 0.0862 | model_form_blend |
| predicted_ER | 0.0000 | 0.2370 | 0.0997 | model_form_blend |
| predicted_ERA | - | 3.0163 | 3.0163 | form_only |
| predicted_H | 0.0000 | 0.6280 | 0.2641 | model_form_blend |
| predicted_HR | 0.0000 | 0.0730 | 0.0307 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5510 | 0.2317 | model_form_blend |
| predicted_WHIP | - | 1.1795 | 1.1795 | 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 | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| 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 | 3.80 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 2 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260526_ATL@BOS |
| game_type | full |
| mlbID | 669711 |
| playerID | 669711 |
| playerName | Greg Weissert |
| pos | P |
| started | False |
| startingPosition | P |
| team | BOS |
| teamID | 4 |
| game_date | 2026-05-26 |
| game_pk | 824758.0 |
| sl_k_percent | 22.3 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.343 |
| sl_xwoba | 0.297 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 32.8 |
| sl_whiff_percent | 22.5 |
| sl_swing_percent | 46.9 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 89.37857142857142 |
| sv_release_spin_rate | 2322.214285714286 |
| sv_effective_speed | 89.20714285714287 |
| sv_launch_speed | 84.74 |
| sv_launch_angle | 8.6 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.1019999999999999 |
| sv_delta_home_win_exp | -0.033 |
| sl_avg_best_speed | 74.910277813 |
| sl_avg_hyper_speed | 93.01058125 |
| 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.778 | 0.000 | -0.778 | 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.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 1.394 | 1.000 | -1.394 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.778 | 2.000 | -1.778 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.1000 -> 0.0000 (deboost -0.1000, 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.1000 -> 0.0000 (deboost -0.1000, 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": 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": 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": 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.1,
"after": 0.0,
"delta": -0.1,
"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": 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.1,
"after": 0.0,
"delta": -0.1,
"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 | 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 | 4.000 | 0.000 | 10.000 | 0.000 | 3.6000 | 0.8000 | 0.4000 | 0.8000 | 0.0000 | 2.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 6.000 | 9.000 | 5.000 | 16.000 | 2.000 | 4.6286 | 1.2000 | 0.5143 | 0.7714 | 0.4286 | 1.3714 | 0.1714 |
| season | 0.20 | 17 | 27.200 | 9.000 | 17.000 | 12.000 | 32.000 | 4.000 | 2.9277 | 1.0482 | 0.3253 | 0.6145 | 0.4337 | 1.1566 | 0.1446 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2440 |
| predicted_ER | 0.3630 |
| predicted_ERA | 4.0243 |
| predicted_H | 0.6850 |
| predicted_HR | 0.0890 |
| predicted_IP | 0.2000 |
| predicted_SO | 1.0490 |
| predicted_WHIP | 1.1438 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2440 | 0.1093 | model_form_blend |
| predicted_ER | 0.0000 | 0.3630 | 0.1626 | model_form_blend |
| predicted_ERA | - | 4.0243 | 4.0243 | form_only |
| predicted_H | 0.0000 | 0.6850 | 0.3069 | model_form_blend |
| predicted_HR | 0.0000 | 0.0890 | 0.0399 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0490 | 0.4700 | model_form_blend |
| predicted_WHIP | - | 1.1438 | 1.1438 | 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 | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 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 | 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.25 |
| 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_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260524_MIN@BOS |
| 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-24 |
| game_pk | 824759.0 |
| sl_k_percent | 28.1 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.286 |
| sl_xwoba | 0.282 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 31.3 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 44.6 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 86.03571428571429 |
| sv_release_spin_rate | 2232.714285714286 |
| sv_effective_speed | 86.2 |
| sv_launch_speed | 76.95 |
| sv_launch_angle | 30.5 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.773 |
| sv_delta_home_win_exp | 0.036 |
| sl_avg_best_speed | 78.751453333 |
| sl_avg_hyper_speed | 93.851571077 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | CHC 2 - 5 PIT | PIT | 0.545 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | CHC 4 - 5 PIT | PIT | - | 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.5450 |
| 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.620 | 5.557 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 2 | 4 | 0.5450 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 2 | 5 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 2 | 5 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 4 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5103000000000002,
"base_low_score_probability": 0.43315508021390375,
"low_score_signal_threshold": 0.5131550802139038,
"low_score_signal_strength": 0.07714491978609644,
"confidence": 0.6890500000000002,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.1,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.1781000000000004
},
"prediction": "normal_scoring",
"expected_total_runs": 7,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 9,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 35,
"near_bucket_sample_size": 6,
"medium_bucket_sample_size": 14,
"wide_bucket_sample_size": 35,
"global_sample_size": 35,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.4857,
"bayesian_hit_rate": 0.4906,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.545,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.545,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "PIT",
"games": 56,
"wins": 29,
"losses": 27,
"win_pct": 0.5178571428571429,
"runs_scored": 274,
"runs_allowed": 246,
"run_differential": 28,
"run_differential_per_game": 0.5,
"available": true
},
"away": {
"team": "CHC",
"games": 56,
"wins": 30,
"losses": 26,
"win_pct": 0.5357142857142857,
"runs_scored": 265,
"runs_allowed": 251,
"run_differential": 14,
"run_differential_per_game": 0.25,
"available": true
},
"run_differential_edge_per_game": 0.25,
"win_pct_edge": -0.0179,
"quality_edge": 0.2232,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "PIT",
"guardrail_predicted_team": "PIT",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "PIT",
"output_opponent_team": "CHC",
"final_score_winner": "PIT",
"pre_simulation_winner": "PIT",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 2,
"home_runs": 5,
"score_text": "CHC 2 - 5 PIT",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHC 4 - 5 PIT",
"winner": "PIT"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"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": "PIT",
"games": 56,
"wins": 29,
"losses": 27,
"win_pct": 0.5178571428571429,
"runs_scored": 274,
"runs_allowed": 246,
"run_differential": 28,
"run_differential_per_game": 0.5,
"available": true
},
"away": {
"team": "CHC",
"games": 56,
"wins": 30,
"losses": 26,
"win_pct": 0.5357142857142857,
"runs_scored": 265,
"runs_allowed": 251,
"run_differential": 14,
"run_differential_per_game": 0.25,
"available": true
}
}
}{
"applied": true,
"raw_margin": 1.8971,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.2232,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.141,
"home_runs": 3.641
}
}{
"applied": false,
"raw_confidence": 0.545,
"final_confidence": 0.545,
"confidence_cap": 0.545,
"score_gap": 1.5,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.4857,
"calibration_bayesian_hit_rate": 0.4906,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.2232,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"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": 2,
"home_runs": 5,
"score_text": "CHC 2 - 5 PIT",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHC 4 - 5 PIT",
"winner": "PIT"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"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": 2,
"home_runs": 5,
"confidence": 0.545,
"home_win_probability": 0.545,
"away_win_probability": 0.45499999999999996,
"predicted_score_text": "CHC 2 - 5 PIT",
"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": "CHC",
"original_runs": 2,
"run_delta": -0.4246,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 79.0,
"quality": 0.15767221328063635,
"contact": 0.08135078525773237,
"power": 0.11072455574666465,
"discipline": 0.4073120258699603,
"xwoba": 0.3272531645569621,
"recent_xwoba": 0.3272531645569621,
"barrel": 8.567088607594936,
"ab_hard_contact": 0.03636694374580923,
"ab_bat_speed": 69.35129939032991,
"ab_strikeout_rate": 0.2140894207846509,
"available_players": 9,
"top_players": [
{
"player_id": "683737",
"player_name": "Michael Busch",
"position": "1B",
"weight": 9.0,
"quality": 0.5116689055757973,
"contact": 0.3869054120879129,
"power": 0.6170200219488406,
"discipline": 0.7562655677655675,
"xwoba": 0.353,
"recent_xwoba": 0.353,
"barrel": 13.1,
"ab_hard_contact": 0.13163853421487978,
"ab_bat_speed": 65.87030715811966,
"ab_strikeout_rate": 0.21794871794871795,
"available": 1.0
},
{
"player_id": "664023",
"player_name": "Ian Happ",
"position": "LF",
"weight": 10.0,
"quality": 0.355535081990671,
"contact": -0.17621243618399635,
"power": 1.021478778721565,
"discipline": 0.1922210884353743,
"xwoba": 0.342,
"recent_xwoba": 0.342,
"barrel": 16.7,
"ab_hard_contact": 0.6105279553836628,
"ab_bat_speed": 70.69717781557067,
"ab_strikeout_rate": 0.3258503401360544,
"available": 1.0
},
{
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"position": "DH",
"weight": 6.0,
"quality": 0.3496934240152522,
"contact": 0.5587877391774899,
"power": 0.7311737181175288,
"discipline": 0.23687229437229446,
"xwoba": 0.334,
"recent_xwoba": 0.334,
"barrel": 11.5,
"ab_hard_contact": 0.543474362350557,
"ab_bat_speed": 71.5080808080808,
"ab_strikeout_rate": 0.21098484848484847,
"available": 1.0
},
{
"player_id": "665804",
"player_name": "Miguel Amaya",
"position": "C",
"weight": 6.0,
"quality": -0.2923499398661575,
"contact": -0.9976405287698402,
"power": -0.8285191437069773,
"discipline": 0.30332142857142863,
"xwoba": 0.296,
"recent_xwoba": 0.296,
"barrel": 6.9,
"ab_hard_contact": -1.0873352550919515,
"ab_bat_speed": 69.15707258597884,
"ab_strikeout_rate": 0.19375,
"available": 1.0
},
{
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"position": "CF",
"weight": 9.0,
"quality": 0.35430795226049017,
"contact": 0.383902146001798,
"power": 0.4575490542631511,
"discipline": -0.1993683737646,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 8.5,
"ab_hard_contact": 0.40298108526299564,
"ab_bat_speed": 71.64269953578916,
"ab_strikeout_rate": 0.24465408805031447,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "694973",
"player_name": "Paul Skenes",
"quality": 0.6948938965596217,
"contact": 1.0839123696046657,
"command": 0.625211630525221,
"movement": 0.8585337017579423,
"xwoba": 0.248,
"whiff": 24.7,
"faced_est_woba": 0.2406013067499409,
"faced_launch_speed": 81.27244530812325,
"faced_strikeout_rate": 0.2887915808024504,
"faced_run_exp": 0.02146687937078018
}
},
"home": {
"team": "PIT",
"original_runs": 4,
"run_delta": 0.6322,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 75.0,
"quality": 0.22288688368541704,
"contact": 0.14237376701558863,
"power": 0.3958794164147307,
"discipline": -0.10321359547349312,
"xwoba": 0.32671999999999995,
"recent_xwoba": 0.32671999999999995,
"barrel": 10.049333333333333,
"ab_hard_contact": 0.40572293146919663,
"ab_bat_speed": 71.81696442648506,
"ab_strikeout_rate": 0.2702802621401599,
"available_players": 9,
"top_players": [
{
"player_id": "665833",
"player_name": "Oneil Cruz",
"position": "CF",
"weight": 10.0,
"quality": 0.849792149117193,
"contact": 0.7354734377289378,
"power": 1.6764416997046931,
"discipline": -1.084686813186813,
"xwoba": 0.34,
"recent_xwoba": 0.34,
"barrel": 16.5,
"ab_hard_contact": 1.4193101845700584,
"ab_bat_speed": 77.27278044871795,
"ab_strikeout_rate": 0.3721153846153846,
"available": 1.0
},
{
"player_id": "664040",
"player_name": "Brandon Lowe",
"position": "2B",
"weight": 9.0,
"quality": 0.8021850187028664,
"contact": 0.8708122033730168,
"power": 1.2719459005628238,
"discipline": -0.028150793650793596,
"xwoba": 0.381,
"recent_xwoba": 0.381,
"barrel": 13.5,
"ab_hard_contact": 0.26139420173263683,
"ab_bat_speed": 70.71118402777778,
"ab_strikeout_rate": 0.24722222222222223,
"available": 1.0
},
{
"player_id": "668804",
"player_name": "Bryan Reynolds",
"position": "LF",
"weight": 9.0,
"quality": 0.38293942919594115,
"contact": 0.47849580246913676,
"power": 0.2502407694527205,
"discipline": 0.6532698412698414,
"xwoba": 0.34800000000000003,
"recent_xwoba": 0.348,
"barrel": 7.7,
"ab_hard_contact": 0.282910627149632,
"ab_bat_speed": 71.14787808641975,
"ab_strikeout_rate": 0.21944444444444444,
"available": 1.0
},
{
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"position": "RF",
"weight": 6.0,
"quality": -0.00631313314109441,
"contact": -0.8295809523809512,
"power": 1.1106652120232678,
"discipline": -0.5499999999999998,
"xwoba": 0.276,
"recent_xwoba": 0.276,
"barrel": 20.0,
"ab_hard_contact": -0.2278386166775289,
"ab_bat_speed": 71.584375,
"ab_strikeout_rate": 0.5166666666666666,
"available": 1.0
},
{
"player_id": "693304",
"player_name": "Nick Gonzales",
"position": "3B",
"weight": 9.0,
"quality": 0.07978145929921701,
"contact": 0.6003124245187439,
"power": -0.47357447670098185,
"discipline": -0.06605217831813581,
"xwoba": 0.334,
"recent_xwoba": 0.334,
"barrel": 2.0,
"ab_hard_contact": 0.4294628469327381,
"ab_bat_speed": 69.23972483958121,
"ab_strikeout_rate": 0.1726950354609929,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "607067",
"player_name": "Colin Rea",
"quality": -0.6916191874236727,
"contact": -1.315093616456871,
"command": -0.24873223197298913,
"movement": -0.3462050077898184,
"xwoba": 0.355,
"whiff": 22.1,
"faced_est_woba": 0.36551062154262404,
"faced_launch_speed": 86.6878178550208,
"faced_strikeout_rate": 0.2010038295038295,
"faced_run_exp": -0.022628859121698413
}
}
},
"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": 5,
"predicted_score_text": "CHC 2 - 5 PIT",
"confidence": 0.545,
"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": 5,
"score_text": "CHC 2 - 5 PIT",
"winner": "PIT"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "CHC 4 - 5 PIT",
"winner": "PIT"
},
"winner_flipped_by_simulation": false,
"away_run_delta": 2,
"home_run_delta": 0,
"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 CHC | True | 1.0246 | 1.0246 | 1 | 9 | 0 |
| Home PIT | 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Nico Hoerner | 32 | 1.0108 | 0.1435 | neutral | 0.3310 | 0.2850 | 0.3700 | 1.50 | 25.80 | 85.20 | 13.60 | 11.40 | 7.70 | 10.20 | 0.3143 |
| CF | Pete Crow-Armstrong | 23 | 1.0425 | 0.5662 | neutral | 0.3290 | 0.2440 | 0.4120 | 8.50 | 48.60 | 91.30 | 18.50 | 27.90 | 25 | 8.90 | 0.6857 |
| 1B | Michael Busch | 96 | 1.0611 | 0.8146 | neutral | 0.3530 | 0.2410 | 0.4320 | 13.10 | 43.40 | 88.70 | 15.80 | 26.10 | 21.90 | 15.20 | 0.4000 |
| 3B | Alex Bregman | 94 | 1.0316 | 0.4218 | neutral | 0.3280 | 0.2620 | 0.4000 | 5.70 | 43.40 | 89.10 | 14.40 | 18 | 17.10 | 10.20 | 0.3429 |
| LF | Ian Happ | 69 | 1.0524 | 0.6986 | neutral | 0.3420 | 0.2010 | 0.4490 | 16.70 | 43 | 89.60 | 16.10 | 34.80 | 32.90 | 16.20 | 0 |
| RF | Seiya Suzuki | 113 | 1.0042 | 0.0555 | neutral | 0.3140 | 0.2290 | 0.3900 | 6.60 | 41.50 | 88.60 | 19.20 | 26.40 | 25.40 | 11.60 | -0.3429 |
| DH | Moisés Ballesteros | 177 | 1.0340 | 0.4528 | neutral | 0.3340 | 0.2490 | 0.4260 | 11.50 | 50 | 91.10 | 11.10 | 27.50 | 19.60 | 10.90 | 0.0857 |
| C | Miguel Amaya | 126 | 0.9779 | -0.2953 | negative_batter_regression | 0.2960 | 0.1980 | 0.3140 | 6.90 | 25.90 | 86.50 | 21.50 | 28.50 | 21.70 | 12 | -1.0857 |
| SS | Dansby Swanson | 83 | 1.0067 | 0.0899 | neutral | 0.3050 | 0.2070 | 0.3770 | 8.30 | 43.60 | 89.60 | 14.60 | 30.10 | 22.40 | 12.20 | 0.6571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Bryan Reynolds | 114 | 1.0446 | 0.5947 | neutral | 0.3480 | 0.2520 | 0.4100 | 7.70 | 43.40 | 90.60 | 3.80 | 28.90 | 22.60 | 15.30 | 0 |
| 3B | Nick Gonzales | 110 | 1.0223 | 0.2977 | neutral | 0.3340 | 0.3040 | 0.3930 | 2 | 39.50 | 86.60 | 6.80 | 23.20 | 17.70 | 6.60 | 0.2857 |
| 1B | Spencer Horwitz | 52 | 0.9978 | -0.0296 | negative_batter_regression | 0.3340 | 0.2360 | 0.3690 | 6.10 | 33.30 | 86.20 | 14.60 | 14.40 | 13 | 14.10 | -1.2857 |
| 2B | Brandon Lowe | 10 | 1.0955 | 1.2728 | neutral | 0.3810 | 0.2710 | 0.5300 | 13.50 | 46.80 | 89.80 | 16.80 | 34.40 | 22.70 | 11.60 | -0.3429 |
| RF | Esmerlyn Valdez | 277 | 0.9936 | -0.0849 | negative_batter_regression | 0.2760 | 0.1190 | 0.3750 | 20 | 60 | 92.70 | 15 | 52 | 50 | 14.30 | -2 |
| DH | Marcell Ozuna | 516 | 1.0183 | 0.2445 | positive_batter_regression | 0.3070 | 0.2200 | 0.3980 | 8.10 | 40.70 | 89.70 | 23.10 | 30.50 | 29.30 | 9.60 | 1.2571 |
| SS | Konnor Griffin | 55 | 1.0010 | 0.0130 | neutral | 0.3110 | 0.2420 | 0.3980 | 8.80 | 33.30 | 87.20 | 4.70 | 32.50 | 26.70 | 7.20 | -0.1143 |
| CF | Oneil Cruz | 117 | 1.0744 | 0.9923 | neutral | 0.3400 | 0.2510 | 0.4750 | 16.50 | 62.20 | 96.40 | 6.10 | 37.40 | 35 | 7.50 | -0.1714 |
| C | Henry Davis | 310 | 0.9941 | -0.0781 | positive_batter_regression | 0.2830 | 0.2010 | 0.3340 | 9.30 | 36 | 90.50 | 18.80 | 22.60 | 18.70 | 8.90 | 1.2286 |
{
"home": {
"applied": true,
"offense_factor": 1.0268,
"raw_average_factor": 1.0268,
"team_espn_average_rank": 173.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"offense_factor": 1.0446,
"quality_score": 0.5947,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668804",
"espn_id": 38980,
"player_name": "Bryan Reynolds",
"team": "PIT",
"role": "batter",
"espn_rank": 114,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 114,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 199.0,
"ab_rank": 55,
"r_value": 33.0,
"r_rank": 36,
"h_value": 53.0,
"h_rank": 47,
"avg_value": 0.2663316,
"avg_rank": 58.0,
"2b_value": 11.0,
"2b_rank": 42,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 34.0,
"rbi_rank": 23,
"tb_value": 80.0,
"tb_rank": 571,
"bb_value": 36.0,
"bb_rank": 12,
"so_value": 53.0,
"so_rank": 49,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.3849372,
"obp_rank": "19",
"slg_value": 0.40201,
"slg_rank": "88",
"ops_value": 0.7869472,
"ops_rank": 58.0,
"war_value": 0.93,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 228.0,
"k_percent": 22.6,
"bb_percent": 15.3,
"woba": 0.348,
"xwoba": 0.348,
"xba": 0.252,
"xslg": 0.41,
"sweet_spot_percent": 30.8,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 43.4,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 3.8,
"whiff_percent": 28.9,
"swing_percent": 44.3
},
"components": {
"expected_quality": 0.6915,
"regression_edge": 0.0,
"xwoba_edge": 1.2286,
"xba_edge": 0.4286,
"xslg_edge": 0.5214,
"barrel_edge": 0.1444,
"hard_hit_edge": 0.6357,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.4167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "693304",
"player_name": "Nick Gonzales",
"offense_factor": 1.0223,
"quality_score": 0.2977,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "693304",
"espn_id": 4311634,
"player_name": "Nick Gonzales",
"team": "PIT",
"role": "batter",
"espn_rank": 110,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 110,
"gp_value": 50.0,
"gp_rank": 135,
"ab_value": 185.0,
"ab_rank": 107,
"r_value": 23.0,
"r_rank": 106,
"h_value": 55.0,
"h_rank": 36,
"avg_value": 0.2972972,
"avg_rank": 18.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 22.0,
"rbi_rank": 118,
"tb_value": 64.0,
"tb_rank": 1595,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 36.0,
"so_rank": 155,
"sb_value": 3.0,
"sb_rank": 119,
"obp_value": 0.3514851,
"obp_rank": "49",
"slg_value": 0.3459459,
"slg_rank": "135",
"ops_value": 0.697431,
"ops_rank": 108.0,
"war_value": 0.97,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 192.0,
"k_percent": 17.7,
"bb_percent": 6.6,
"woba": 0.324,
"xwoba": 0.334,
"xba": 0.304,
"xslg": 0.393,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 39.5,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 6.8,
"whiff_percent": 23.2,
"swing_percent": 54.3
},
"components": {
"expected_quality": 0.3502,
"regression_edge": 0.2857,
"xwoba_edge": 0.8286,
"xba_edge": 1.9143,
"xslg_edge": 0.2786,
"barrel_edge": -1.1222,
"hard_hit_edge": 0.0786,
"exit_velocity_edge": -0.88,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "687462",
"player_name": "Spencer Horwitz",
"offense_factor": 0.9978,
"quality_score": -0.0296,
"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": 52,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 52,
"gp_value": 51.0,
"gp_rank": 117,
"ab_value": 156.0,
"ab_rank": 162,
"r_value": 21.0,
"r_rank": 133,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.2884615,
"avg_rank": 31.0,
"2b_value": 7.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 25.0,
"rbi_rank": 87,
"tb_value": 72.0,
"tb_rank": 613,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 24.0,
"so_rank": 258,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3882978,
"obp_rank": "17",
"slg_value": 0.4615384,
"slg_rank": "44",
"ops_value": 0.8498362,
"ops_rank": 31.0,
"war_value": 1.56,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 178.0,
"k_percent": 13.0,
"bb_percent": 14.1,
"woba": 0.379,
"xwoba": 0.334,
"xba": 0.236,
"xslg": 0.369,
"sweet_spot_percent": 29.5,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 86.2,
"launch_angle_avg": 14.6,
"whiff_percent": 14.4,
"swing_percent": 40.1
},
"components": {
"expected_quality": 0.1667,
"regression_edge": -1.2857,
"xwoba_edge": 0.8286,
"xba_edge": -0.0286,
"xslg_edge": -0.0643,
"barrel_edge": -0.2111,
"hard_hit_edge": -0.8071,
"exit_velocity_edge": -1.04,
"sweet_spot_edge": -0.6333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "664040",
"player_name": "Brandon Lowe",
"offense_factor": 1.0955,
"quality_score": 1.2728,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664040",
"espn_id": 39961,
"player_name": "Brandon Lowe",
"team": "PIT",
"role": "batter",
"espn_rank": 10,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 10,
"gp_value": 50.0,
"gp_rank": 135,
"ab_value": 193.0,
"ab_rank": 77,
"r_value": 33.0,
"r_rank": 36,
"h_value": 52.0,
"h_rank": 58,
"avg_value": 0.26943,
"avg_rank": 51.0,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 14.0,
"hr_rank": 11,
"rbi_value": 36.0,
"rbi_rank": 16,
"tb_value": 108.0,
"tb_rank": 130,
"bb_value": 25.0,
"bb_rank": 48,
"so_value": 50.0,
"so_rank": 67,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3545454,
"obp_rank": "44",
"slg_value": 0.5595854,
"slg_rank": "7",
"ops_value": 0.9141308,
"ops_rank": 11.0,
"war_value": 2.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 211.0,
"k_percent": 22.7,
"bb_percent": 11.6,
"woba": 0.393,
"xwoba": 0.381,
"xba": 0.271,
"xslg": 0.53,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 13.5,
"hard_hit_percent": 46.8,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 16.8,
"whiff_percent": 34.4,
"swing_percent": 48.0
},
"components": {
"expected_quality": 1.5989,
"regression_edge": -0.3429,
"xwoba_edge": 2.1714,
"xba_edge": 0.9714,
"xslg_edge": 2.2357,
"barrel_edge": 1.4333,
"hard_hit_edge": 1.1214,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.95,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"offense_factor": 0.9936,
"quality_score": -0.0849,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "699013",
"espn_id": 5137200,
"player_name": "Esmerlyn Valdez",
"team": "PIT",
"role": "batter",
"espn_rank": 277,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 277,
"gp_value": 5.0,
"gp_rank": 484,
"ab_value": 16.0,
"ab_rank": 466,
"r_value": 2.0,
"r_rank": 432,
"h_value": 2.0,
"h_rank": 465,
"avg_value": 0.125,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 450,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 5.0,
"rbi_rank": 360,
"tb_value": 8.0,
"tb_rank": 1949,
"bb_value": 2.0,
"bb_rank": 408,
"so_value": 9.0,
"so_rank": 407,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2222222,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.7222222,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 14.0,
"k_percent": 50.0,
"bb_percent": 14.3,
"woba": 0.399,
"xwoba": 0.276,
"xba": 0.119,
"xslg": 0.375,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 20.0,
"hard_hit_percent": 60.0,
"exit_velocity_avg": 92.7,
"launch_angle_avg": 15.0,
"whiff_percent": 52.0,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.1062,
"regression_edge": -2.0,
"xwoba_edge": -0.8286,
"xba_edge": -2.5,
"xslg_edge": 0.0214,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 1.56,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "542303",
"player_name": "Marcell Ozuna",
"offense_factor": 1.0183,
"quality_score": 0.2445,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "542303",
"espn_id": 31668,
"player_name": "Marcell Ozuna",
"team": "PIT",
"role": "batter",
"espn_rank": 516,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 516,
"gp_value": 46.0,
"gp_rank": 175,
"ab_value": 172.0,
"ab_rank": 132,
"r_value": 14.0,
"r_rank": 227,
"h_value": 32.0,
"h_rank": 190,
"avg_value": 0.1860465,
"avg_rank": 168.0,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 52.0,
"tb_rank": 1070,
"bb_value": 18.0,
"bb_rank": 115,
"so_value": 56.0,
"so_rank": 36,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2708333,
"obp_rank": "161",
"slg_value": 0.3023255,
"slg_rank": "163",
"ops_value": 0.5731588,
"ops_rank": 165.0,
"war_value": -0.79,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 184.0,
"k_percent": 29.3,
"bb_percent": 9.6,
"woba": 0.263,
"xwoba": 0.307,
"xba": 0.22,
"xslg": 0.398,
"sweet_spot_percent": 38.1,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 40.7,
"exit_velocity_avg": 89.7,
"launch_angle_avg": 23.1,
"whiff_percent": 30.5,
"swing_percent": 42.1
},
"components": {
"expected_quality": 0.1353,
"regression_edge": 1.2571,
"xwoba_edge": 0.0571,
"xba_edge": -0.4857,
"xslg_edge": 0.35,
"barrel_edge": 0.2333,
"hard_hit_edge": 0.25,
"exit_velocity_edge": 0.36,
"sweet_spot_edge": 0.8,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "804606",
"player_name": "Konnor Griffin",
"offense_factor": 1.001,
"quality_score": 0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "804606",
"espn_id": 5218285,
"player_name": "Konnor Griffin",
"team": "PIT",
"role": "batter",
"espn_rank": 55,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 55,
"gp_value": 49.0,
"gp_rank": 151,
"ab_value": 180.0,
"ab_rank": 116,
"r_value": 29.0,
"r_rank": 60,
"h_value": 47.0,
"h_rank": 87,
"avg_value": 0.2611111,
"avg_rank": 68.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 71.0,
"tb_rank": 684,
"bb_value": 14.0,
"bb_rank": 164,
"so_value": 53.0,
"so_rank": 49,
"sb_value": 12.0,
"sb_rank": 11,
"obp_value": 0.321608,
"obp_rank": "96",
"slg_value": 0.3944444,
"slg_rank": "98",
"ops_value": 0.7160524,
"ops_rank": 94.0,
"war_value": 1.5,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 189.0,
"k_percent": 26.7,
"bb_percent": 7.2,
"woba": 0.315,
"xwoba": 0.311,
"xba": 0.242,
"xslg": 0.398,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 8.8,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 87.2,
"launch_angle_avg": 4.7,
"whiff_percent": 32.5,
"swing_percent": 50.1
},
"components": {
"expected_quality": 0.0362,
"regression_edge": -0.1143,
"xwoba_edge": 0.1714,
"xba_edge": 0.1429,
"xslg_edge": 0.35,
"barrel_edge": 0.3889,
"hard_hit_edge": -0.8071,
"exit_velocity_edge": -0.64,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "665833",
"player_name": "Oneil Cruz",
"offense_factor": 1.0744,
"quality_score": 0.9923,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665833",
"espn_id": 39712,
"player_name": "Oneil Cruz",
"team": "PIT",
"role": "batter",
"espn_rank": 117,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 117,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 223.0,
"ab_rank": 6,
"r_value": 38.0,
"r_rank": 10,
"h_value": 58.0,
"h_rank": 22,
"avg_value": 0.2600896,
"avg_rank": 70.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 11.0,
"hr_rank": 30,
"rbi_value": 35.0,
"rbi_rank": 20,
"tb_value": 101.0,
"tb_rank": 479,
"bb_value": 18.0,
"bb_rank": 115,
"so_value": 87.0,
"so_rank": 1,
"sb_value": 17.0,
"sb_rank": 3,
"obp_value": 0.3237704,
"obp_rank": "93",
"slg_value": 0.4529147,
"slg_rank": "54",
"ops_value": 0.7766851,
"ops_rank": 65.0,
"war_value": 0.91,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 231.0,
"k_percent": 35.0,
"bb_percent": 7.5,
"woba": 0.346,
"xwoba": 0.34,
"xba": 0.251,
"xslg": 0.475,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 16.5,
"hard_hit_percent": 62.2,
"exit_velocity_avg": 96.4,
"launch_angle_avg": 6.1,
"whiff_percent": 37.4,
"swing_percent": 45.6
},
"components": {
"expected_quality": 1.1818,
"regression_edge": -0.1714,
"xwoba_edge": 1.0,
"xba_edge": 0.4,
"xslg_edge": 1.45,
"barrel_edge": 2.1,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.5,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "680779",
"player_name": "Henry Davis",
"offense_factor": 0.9941,
"quality_score": -0.0781,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "680779",
"espn_id": 4418683,
"player_name": "Henry Davis",
"team": "PIT",
"role": "batter",
"espn_rank": 310,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 310,
"gp_value": 39.0,
"gp_rank": 244,
"ab_value": 108.0,
"ab_rank": 250,
"r_value": 12.0,
"r_rank": 260,
"h_value": 15.0,
"h_rank": 332,
"avg_value": 0.1388888,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 10.0,
"rbi_rank": 273,
"tb_value": 30.0,
"tb_rank": 1390,
"bb_value": 11.0,
"bb_rank": 218,
"so_value": 23.0,
"so_rank": 268,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2377049,
"obp_rank": "-",
"slg_value": 0.2777777,
"slg_rank": "-",
"ops_value": 0.5154826,
"ops_rank": null,
"war_value": 0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 117.0,
"k_percent": 18.7,
"bb_percent": 8.9,
"woba": 0.24,
"xwoba": 0.283,
"xba": 0.201,
"xslg": 0.334,
"sweet_spot_percent": 24.4,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 90.5,
"launch_angle_avg": 18.8,
"whiff_percent": 22.6,
"swing_percent": 52.8
},
"components": {
"expected_quality": -0.3707,
"regression_edge": 1.2286,
"xwoba_edge": -0.6286,
"xba_edge": -1.0286,
"xslg_edge": -0.5643,
"barrel_edge": 0.5,
"hard_hit_edge": -0.4214,
"exit_velocity_edge": 0.68,
"sweet_spot_edge": -1.4833,
"launch_angle_hr_bonus": 0.45
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0246,
"raw_average_factor": 1.0246,
"team_espn_average_rank": 90.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "663538",
"player_name": "Nico Hoerner",
"offense_factor": 1.0108,
"quality_score": 0.1435,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663538",
"espn_id": 41219,
"player_name": "Nico Hoerner",
"team": "CHC",
"role": "batter",
"espn_rank": 32,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 32,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 219.0,
"ab_rank": 11,
"r_value": 24.0,
"r_rank": 96,
"h_value": 56.0,
"h_rank": 32,
"avg_value": 0.2557077,
"avg_rank": 80.0,
"2b_value": 13.0,
"2b_rank": 18,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 32.0,
"rbi_rank": 31,
"tb_value": 81.0,
"tb_rank": 820,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 20.0,
"so_rank": 303,
"sb_value": 10.0,
"sb_rank": 15,
"obp_value": 0.3412698,
"obp_rank": "67",
"slg_value": 0.369863,
"slg_rank": "120",
"ops_value": 0.7111328,
"ops_rank": 98.0,
"war_value": 1.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 239.0,
"k_percent": 7.7,
"bb_percent": 10.2,
"woba": 0.32,
"xwoba": 0.331,
"xba": 0.285,
"xslg": 0.37,
"sweet_spot_percent": 38.4,
"barrel_batted_rate": 1.5,
"hard_hit_percent": 25.8,
"exit_velocity_avg": 85.2,
"launch_angle_avg": 13.6,
"whiff_percent": 11.4,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.1157,
"regression_edge": 0.3143,
"xwoba_edge": 0.7429,
"xba_edge": 1.3714,
"xslg_edge": -0.05,
"barrel_edge": -1.2333,
"hard_hit_edge": -1.8786,
"exit_velocity_edge": -1.44,
"sweet_spot_edge": 0.85,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "691718",
"player_name": "Pete Crow-Armstrong",
"offense_factor": 1.0425,
"quality_score": 0.5662,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691718",
"espn_id": 4717833,
"player_name": "Pete Crow-Armstrong",
"team": "CHC",
"role": "batter",
"espn_rank": 23,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 23,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 201.0,
"ab_rank": 48,
"r_value": 29.0,
"r_rank": 60,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.2238805,
"avg_rank": 129.0,
"2b_value": 6.0,
"2b_rank": 179,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 24.0,
"rbi_rank": 99,
"tb_value": 73.0,
"tb_rank": 582,
"bb_value": 21.0,
"bb_rank": 76,
"so_value": 59.0,
"so_rank": 25,
"sb_value": 12.0,
"sb_rank": 11,
"obp_value": 0.3144104,
"obp_rank": "110",
"slg_value": 0.363184,
"slg_rank": "124",
"ops_value": 0.6775944,
"ops_rank": 122.0,
"war_value": 2.15,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 218.0,
"k_percent": 25.0,
"bb_percent": 8.9,
"woba": 0.305,
"xwoba": 0.329,
"xba": 0.244,
"xslg": 0.412,
"sweet_spot_percent": 28.9,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 48.6,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 18.5,
"whiff_percent": 27.9,
"swing_percent": 52.6
},
"components": {
"expected_quality": 0.5527,
"regression_edge": 0.6857,
"xwoba_edge": 0.6857,
"xba_edge": 0.2,
"xslg_edge": 0.55,
"barrel_edge": 0.3222,
"hard_hit_edge": 1.3786,
"exit_velocity_edge": 1.0,
"sweet_spot_edge": -0.7333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "683737",
"player_name": "Michael Busch",
"offense_factor": 1.0611,
"quality_score": 0.8146,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683737",
"espn_id": 42415,
"player_name": "Michael Busch",
"team": "CHC",
"role": "batter",
"espn_rank": 96,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 96,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 198.0,
"ab_rank": 60,
"r_value": 23.0,
"r_rank": 106,
"h_value": 46.0,
"h_rank": 95,
"avg_value": 0.2323232,
"avg_rank": 114.0,
"2b_value": 11.0,
"2b_rank": 42,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 31.0,
"rbi_rank": 35,
"tb_value": 77.0,
"tb_rank": 501,
"bb_value": 38.0,
"bb_rank": 9,
"so_value": 53.0,
"so_rank": 49,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3662551,
"obp_rank": "35",
"slg_value": 0.3888888,
"slg_rank": "102",
"ops_value": 0.7551439,
"ops_rank": 74.0,
"war_value": 1.01,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 232.0,
"k_percent": 21.9,
"bb_percent": 15.2,
"woba": 0.339,
"xwoba": 0.353,
"xba": 0.241,
"xslg": 0.432,
"sweet_spot_percent": 31.7,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 43.4,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 15.8,
"whiff_percent": 26.1,
"swing_percent": 41.6
},
"components": {
"expected_quality": 0.8821,
"regression_edge": 0.4,
"xwoba_edge": 1.3714,
"xba_edge": 0.1143,
"xslg_edge": 0.8357,
"barrel_edge": 1.3444,
"hard_hit_edge": 0.6357,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": -0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "608324",
"player_name": "Alex Bregman",
"offense_factor": 1.0316,
"quality_score": 0.4218,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608324",
"espn_id": 34886,
"player_name": "Alex Bregman",
"team": "CHC",
"role": "batter",
"espn_rank": 94,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 94,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 222.0,
"ab_rank": 7,
"r_value": 24.0,
"r_rank": 96,
"h_value": 58.0,
"h_rank": 22,
"avg_value": 0.2612612,
"avg_rank": 68.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 16.0,
"rbi_rank": 192,
"tb_value": 80.0,
"tb_rank": 681,
"bb_value": 25.0,
"bb_rank": 48,
"so_value": 43.0,
"so_rank": 103,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3426294,
"obp_rank": "64",
"slg_value": 0.3603603,
"slg_rank": "126",
"ops_value": 0.7029897,
"ops_rank": 104.0,
"war_value": 1.04,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 238.0,
"k_percent": 17.1,
"bb_percent": 10.2,
"woba": 0.316,
"xwoba": 0.328,
"xba": 0.262,
"xslg": 0.4,
"sweet_spot_percent": 32.6,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 43.4,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 14.4,
"whiff_percent": 18.0,
"swing_percent": 39.0
},
"components": {
"expected_quality": 0.4346,
"regression_edge": 0.3429,
"xwoba_edge": 0.6571,
"xba_edge": 0.7143,
"xslg_edge": 0.3786,
"barrel_edge": -0.3,
"hard_hit_edge": 0.6357,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -0.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "664023",
"player_name": "Ian Happ",
"offense_factor": 1.0524,
"quality_score": 0.6986,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664023",
"espn_id": 34945,
"player_name": "Ian Happ",
"team": "CHC",
"role": "batter",
"espn_rank": 69,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 69,
"gp_value": 52.0,
"gp_rank": 100,
"ab_value": 195.0,
"ab_rank": 73,
"r_value": 36.0,
"r_rank": 17,
"h_value": 42.0,
"h_rank": 120,
"avg_value": 0.2153846,
"avg_rank": 140.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 11.0,
"hr_rank": 30,
"rbi_value": 26.0,
"rbi_rank": 78,
"tb_value": 85.0,
"tb_rank": 407,
"bb_value": 37.0,
"bb_rank": 11,
"so_value": 75.0,
"so_rank": 6,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3461538,
"obp_rank": "60",
"slg_value": 0.4358974,
"slg_rank": "63",
"ops_value": 0.7820512,
"ops_rank": 61.0,
"war_value": 1.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 222.0,
"k_percent": 32.9,
"bb_percent": 16.2,
"woba": 0.342,
"xwoba": 0.342,
"xba": 0.201,
"xslg": 0.449,
"sweet_spot_percent": 34.2,
"barrel_batted_rate": 16.7,
"hard_hit_percent": 43.0,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 16.1,
"whiff_percent": 34.8,
"swing_percent": 42.4
},
"components": {
"expected_quality": 0.8123,
"regression_edge": 0.0,
"xwoba_edge": 1.0571,
"xba_edge": -1.0286,
"xslg_edge": 1.0786,
"barrel_edge": 2.1444,
"hard_hit_edge": 0.5786,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": 0.15,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "RF",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"offense_factor": 1.0042,
"quality_score": 0.0555,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673548",
"espn_id": 4142424,
"player_name": "Seiya Suzuki",
"team": "CHC",
"role": "batter",
"espn_rank": 113,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 113,
"gp_value": 42.0,
"gp_rank": 215,
"ab_value": 154.0,
"ab_rank": 165,
"r_value": 23.0,
"r_rank": 106,
"h_value": 36.0,
"h_rank": 166,
"avg_value": 0.2337662,
"avg_rank": 110.0,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 7.0,
"hr_rank": 63,
"rbi_value": 17.0,
"rbi_rank": 179,
"tb_value": 61.0,
"tb_rank": 915,
"bb_value": 20.0,
"bb_rank": 89,
"so_value": 46.0,
"so_rank": 85,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3314606,
"obp_rank": "78",
"slg_value": 0.3961038,
"slg_rank": "95",
"ops_value": 0.7275644,
"ops_rank": 88.0,
"war_value": 0.94,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 167.0,
"k_percent": 25.4,
"bb_percent": 11.6,
"woba": 0.326,
"xwoba": 0.314,
"xba": 0.229,
"xslg": 0.39,
"sweet_spot_percent": 34.9,
"barrel_batted_rate": 6.6,
"hard_hit_percent": 41.5,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 19.2,
"whiff_percent": 26.4,
"swing_percent": 41.1
},
"components": {
"expected_quality": 0.1409,
"regression_edge": -0.3429,
"xwoba_edge": 0.2571,
"xba_edge": -0.2286,
"xslg_edge": 0.2357,
"barrel_edge": -0.1,
"hard_hit_edge": 0.3643,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 0.2667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "694208",
"player_name": "Moisés Ballesteros",
"offense_factor": 1.034,
"quality_score": 0.4528,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694208",
"espn_id": 4987418,
"player_name": "Moises Ballesteros",
"team": "CHC",
"role": "batter",
"espn_rank": 177,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 177,
"gp_value": 46.0,
"gp_rank": 175,
"ab_value": 123.0,
"ab_rank": 215,
"r_value": 15.0,
"r_rank": 214,
"h_value": 29.0,
"h_rank": 211,
"avg_value": 0.2357723,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 20.0,
"rbi_rank": 135,
"tb_value": 52.0,
"tb_rank": 1019,
"bb_value": 15.0,
"bb_rank": 150,
"so_value": 28.0,
"so_rank": 219,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3142857,
"obp_rank": "-",
"slg_value": 0.4227642,
"slg_rank": "-",
"ops_value": 0.7370499,
"ops_rank": null,
"war_value": 0.48,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 137.0,
"k_percent": 19.6,
"bb_percent": 10.9,
"woba": 0.331,
"xwoba": 0.334,
"xba": 0.249,
"xslg": 0.426,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 11.5,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 11.1,
"whiff_percent": 27.5,
"swing_percent": 49.7
},
"components": {
"expected_quality": 0.8316,
"regression_edge": 0.0857,
"xwoba_edge": 0.8286,
"xba_edge": 0.3429,
"xslg_edge": 0.75,
"barrel_edge": 0.9889,
"hard_hit_edge": 1.5786,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": 0.7,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "665804",
"player_name": "Miguel Amaya",
"offense_factor": 0.9779,
"quality_score": -0.2953,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665804",
"espn_id": 38905,
"player_name": "Miguel Amaya",
"team": "CHC",
"role": "batter",
"espn_rank": 126,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 126,
"gp_value": 32.0,
"gp_rank": 297,
"ab_value": 77.0,
"ab_rank": 323,
"r_value": 14.0,
"r_rank": 227,
"h_value": 18.0,
"h_rank": 304,
"avg_value": 0.2337662,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 9.0,
"rbi_rank": 288,
"tb_value": 29.0,
"tb_rank": 1523,
"bb_value": 11.0,
"bb_rank": 218,
"so_value": 20.0,
"so_rank": 303,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3516483,
"obp_rank": "-",
"slg_value": 0.3766233,
"slg_rank": "-",
"ops_value": 0.7282716,
"ops_rank": null,
"war_value": 0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 82.0,
"k_percent": 21.7,
"bb_percent": 12.0,
"woba": 0.334,
"xwoba": 0.296,
"xba": 0.198,
"xslg": 0.314,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 6.9,
"hard_hit_percent": 25.9,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 21.5,
"whiff_percent": 28.5,
"swing_percent": 42.9
},
"components": {
"expected_quality": -0.5863,
"regression_edge": -1.0857,
"xwoba_edge": -0.2571,
"xba_edge": -1.1143,
"xslg_edge": -0.85,
"barrel_edge": -0.0333,
"hard_hit_edge": -1.8643,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": -0.95,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "621020",
"player_name": "Dansby Swanson",
"offense_factor": 1.0067,
"quality_score": 0.0899,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621020",
"espn_id": 34895,
"player_name": "Dansby Swanson",
"team": "CHC",
"role": "batter",
"espn_rank": 83,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 83,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 179.0,
"ab_rank": 119,
"r_value": 32.0,
"r_rank": 42,
"h_value": 34.0,
"h_rank": 179,
"avg_value": 0.1899441,
"avg_rank": 165.0,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 7.0,
"hr_rank": 63,
"rbi_value": 27.0,
"rbi_rank": 61,
"tb_value": 62.0,
"tb_rank": 668,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 46.0,
"so_rank": 85,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.291866,
"obp_rank": "135",
"slg_value": 0.3463687,
"slg_rank": "135",
"ops_value": 0.6382347,
"ops_rank": 139.0,
"war_value": 1.09,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 199.0,
"k_percent": 22.4,
"bb_percent": 12.2,
"woba": 0.282,
"xwoba": 0.305,
"xba": 0.207,
"xslg": 0.377,
"sweet_spot_percent": 27.1,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 43.6,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 14.6,
"whiff_percent": 30.1,
"swing_percent": 45.8
},
"components": {
"expected_quality": 0.0086,
"regression_edge": 0.6571,
"xwoba_edge": 0.0,
"xba_edge": -0.8571,
"xslg_edge": 0.05,
"barrel_edge": 0.2778,
"hard_hit_edge": 0.6643,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -1.0333,
"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 CHC | True | 533 | -0.6166 | 0.8240 | 1.0524 | 0.9642 | 0.9654 | 1.1392 | neutral | 0.3550 | 0.3300 | 18.80 | 7.30 | 22.10 | 12.30 | 45.60 | |
| Home PIT | True | 38 | 0.6809 | 0.8280 | 0.9421 | 1.0199 | 0.9089 | 0.8985 | neutral | 0.2480 | 0.2460 | 28 | 3.90 | 24.70 | 4.60 | 34.60 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away CHC | True | None | 91 | 89.48 | 2041 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0118 | |
| Home PIT | True | None | 96 | 92.84 | 2133 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1766 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9521 |
| home_runs_vs_away_pitcher | 1.0432 |
| home_pitcher_quality_edge | 1.2975 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "694973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 207.0,
"k_percent": 28.0,
"bb_percent": 3.9,
"woba": 0.246,
"xwoba": 0.248,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 34.6,
"avg_best_speed": 76.134,
"avg_hyper_speed": 93.4121,
"whiff_percent": 24.7,
"swing_percent": 51.7
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.1924,
"command_and_miss": 0.5621,
"regression_edge": -0.0571,
"xwoba_edge": 1.7429,
"barrel_edge": 0.6,
"hard_hit_edge": 0.5571,
"whiff_edge": -0.1714,
"bb_edge": 1.375,
"pitch_design_score": 0.1766
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 92.84141993931992,
"release_spin_rate": 2133.0646336500404,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 92.84141993931992,
"release_spin_rate": 2133.0646336500404,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8414,
"release_spin_rate": 2133.0646,
"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.1766,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2615,
"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.6809,
"sample_weight": 0.828,
"run_prevention_factor": 0.9421,
"strikeout_factor": 1.0199,
"walk_factor": 0.9089,
"homer_factor": 0.8985,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694973",
"espn_id": 4719507,
"player_name": "Paul Skenes",
"team": "PIT",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 38,
"gp_value": 11.0,
"gp_rank": 245,
"gs_value": 11.0,
"gs_rank": 16,
"qs_value": 5.0,
"qs_rank": 31,
"era_value": 3.0,
"era_rank": 21.0,
"w_value": 6.0,
"w_rank": 8,
"l_value": 4.0,
"l_rank": 31,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 60.0,
"ip_rank": 52,
"h_value": 40.0,
"h_rank": 114,
"er_value": 20.0,
"er_rank": 107,
"hr_value": 6.0,
"hr_rank": 78,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 65.0,
"k_rank": 24,
"k_per_9_value": 9.75,
"k_per_9_rank": 12,
"whip_value": 0.8166,
"whip_rank": 1.0,
"war_value": 1.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "607067",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 206.0,
"k_percent": 18.8,
"bb_percent": 7.3,
"woba": 0.33,
"xwoba": 0.355,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 45.6,
"avg_best_speed": 83.0201,
"avg_hyper_speed": 94.8664,
"whiff_percent": 22.1,
"swing_percent": 47.1
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.0541,
"command_and_miss": -0.3293,
"regression_edge": -0.7143,
"xwoba_edge": -1.3143,
"barrel_edge": -1.1111,
"hard_hit_edge": -1.0143,
"whiff_edge": -0.5429,
"bb_edge": 0.525,
"pitch_design_score": -0.0118
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607067",
"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": 89.47713144995562,
"release_spin_rate": 2040.5210967601724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.47713144995562,
"release_spin_rate": 2040.5210967601724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4771,
"release_spin_rate": 2040.5211,
"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.0118,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0842,
"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.6166,
"sample_weight": 0.824,
"run_prevention_factor": 1.0524,
"strikeout_factor": 0.9642,
"walk_factor": 0.9654,
"homer_factor": 1.1392,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607067",
"espn_id": 33950,
"player_name": "Colin Rea",
"team": "CHC",
"role": "pitcher",
"espn_rank": 533,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 533,
"gp_value": 11.0,
"gp_rank": 245,
"gs_value": 8.0,
"gs_rank": 111,
"qs_value": 2.0,
"qs_rank": 100,
"era_value": 4.8333,
"era_rank": null,
"w_value": 4.0,
"w_rank": 36,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 54.0,
"ip_rank": 79,
"h_value": 57.0,
"h_rank": 36,
"er_value": 29.0,
"er_rank": 39,
"hr_value": 8.0,
"hr_rank": 41,
"bb_value": 17.0,
"bb_rank": 92,
"k_value": 44.0,
"k_rank": 95,
"k_per_9_value": 7.3333335,
"k_per_9_rank": 32,
"whip_value": 1.3703,
"whip_rank": null,
"war_value": -0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9521,
"home_runs_vs_away_pitcher": 1.0432,
"home_pitcher_quality_edge": 1.2975
},
"score_before": {
"away_runs": 2.0398,
"home_runs": 3.6803
},
"score_after": {
"away_runs": 1.942,
"home_runs": 3.8392,
"home_win_probability": 0.6846
},
"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 CHC | 4-51 | 0.073 | 0.70 | 3.70 | -162 | cold | average | |
| Home PIT | 12-39 | 0.235 | 1.30 | 3.50 | -110 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away CHC | 30-26 | 0.536 | 14 | 0.250 | True |
| Home PIT | 29-27 | 0.518 | 28 | 0.500 | True |
| Signal | - | - | 0.250 | 0.223 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target CHC | - | - | 2 | - | - | - | - |
| Game target PIT | - | - | 5 | - | - | - | - |
| Player finalized CHC | 79 | 18 | 11 | 1 | 12 | 11 | 20 |
| Player finalized PIT | 75 | 20 | 13 | 1 | 11 | 9 | 21 |
| Player model fractional CHC | 79.66 | 18.81 | 11.95 | 2.67 | 10.31 | 11.27 | 19.13 |
| Player model fractional PIT | 74.39 | 18.85 | 11.35 | 3.06 | 11.72 | 7.88 | 20.64 |
| Simulation box CHC | 34 | 7 | 4 | 0 | 4 | 5 | 8 |
| Simulation box PIT | 31 | 9 | 5 | 2 | 5 | 2 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away CHC | Starter | Colin Rea | 5.10 | 3 | 6 | 7 | 0 | 4.70 | 1.38 | True |
| Away CHC | Middle Reliever | Caleb Thielbar | 1 | 0 | 0 | 0 | 0 | 3.68 | 1.27 | True |
| Away CHC | Middle Reliever | Daniel Palencia | 1.10 | 2 | 0 | 2 | 0 | 4.29 | 1.43 | True |
| Away CHC | Middle Reliever | Jacob Webb | 0.10 | 0 | 0 | 0 | 2 | 2.59 | 1.15 | True |
| Home PIT | Starter | Paul Skenes | 6 | 0 | 6 | 1 | 3 | 3.36 | 0.98 | True |
| Home PIT | Middle Reliever | Gregory Soto | 1 | 0 | 0 | 0 | 1 | 3.99 | 1.18 | True |
| Home PIT | Middle Reliever | Mason Montgomery | 1 | 1 | 2 | 2 | 0 | 2.97 | 1.01 | True |
| Home PIT | Middle Reliever | Yohan Ramírez | 1 | 3 | 0 | 4 | 1 | 6.92 | 1.64 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | CHC | batter | CF | Pete Crow-Armstrong | better | 10 | 6 | 4 | 6 | 4 | predicted_RBI | 2.5300 | boost | better |
| home | PIT | batter | RF | Esmerlyn Valdez | better | 10 | 6 | 4 | 7 | 3 | predicted_SO | -1.8890 | deboost | better |
| home | PIT | batter | CF | Oneil Cruz | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -1.6420 | deboost | better |
| home | PIT | batter | C | Henry Davis | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | 1.4400 | boost | better |
| home | PIT | batter | 2B | Brandon Lowe | neutral | 10 | 5 | 5 | 5 | 5 | predicted_AB | -1.3400 | deboost | worse |
| away | CHC | batter | 3B | Alex Bregman | worse | 10 | 2 | 8 | 1 | 9 | predicted_H | -1.0700 | deboost | worse |
| home | PIT | batter | 3B | Nick Gonzales | better | 11 | 6 | 5 | 7 | 4 | predicted_H | 1.0400 | boost | better |
| home | PIT | batter | DH | Marcell Ozuna | worse | 11 | 2 | 9 | 1 | 10 | predicted_AB | -1.0310 | deboost | worse |
| away | CHC | batter | 1B | Michael Busch | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.0300 | boost | better |
| home | PIT | batter | LF | Bryan Reynolds | neutral | 10 | 5 | 5 | 5 | 5 | predicted_H | 0.9700 | boost | better |
| home | PIT | batter | SS | Konnor Griffin | better | 11 | 5 | 6 | 6 | 5 | predicted_3B | 0.9440 | boost | better |
| away | CHC | batter | SS | Dansby Swanson | better | 10 | 5 | 5 | 6 | 4 | predicted_2B | 0.9090 | boost | better |
| away | CHC | batter | LF | Ian Happ | better | 11 | 7 | 4 | 6 | 5 | predicted_AB | -0.9000 | deboost | worse |
| away | CHC | batter | RF | Seiya Suzuki | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | -0.8410 | deboost | worse |
| away | CHC | batter | C | Miguel Amaya | worse | 11 | 2 | 9 | 1 | 10 | predicted_BB | 0.6740 | boost | better |
| away | CHC | batter | DH | Moisés Ballesteros | worse | 11 | 3 | 8 | 4 | 7 | predicted_SO | -0.6690 | deboost | better |
| home | PIT | batter | 1B | Spencer Horwitz | worse | 11 | 6 | 5 | 5 | 6 | predicted_BB | -0.6360 | deboost | worse |
| away | CHC | batter | 2B | Nico Hoerner | better | 11 | 6 | 5 | 7 | 4 | predicted_BB | -0.5380 | deboost | worse |
| away | CHC | pitcher | Starter | Colin Rea | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| away | CHC | pitcher | Middle Reliever | Daniel Palencia | 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 | Colin Rea |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.6166 |
| ESPN Rank | 533 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0118 |
| Avg Velo | 89.4771 |
| Avg Spin | 2040.5211 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5.1000 |
| Pre ER | 3 |
| Pre H | 7 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 4.8333 |
| Season WHIP | 1.3704 |
| Role Avg IP | 5.2080 |
| Recent Avg IP | 5.3330 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"opponent": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": 0.1233,
"opponent_offense_edge": 0.0684,
"defense_strength": -0.0436,
"opponent_defense_weakness": -0.0009,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9911,
"run_prevention": 1.0214,
"strikeout": 0.9909
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "607067",
"profile": {
"available": true,
"pitcher_id": "607067",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 206.0,
"k_percent": 18.8,
"bb_percent": 7.3,
"woba": 0.33,
"xwoba": 0.355,
"sweet_spot_percent": 33.9,
"barrel_batted_rate": 12.3,
"hard_hit_percent": 45.6,
"avg_best_speed": 83.0201,
"avg_hyper_speed": 94.8664,
"whiff_percent": 22.1,
"swing_percent": 47.1
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.0541,
"command_and_miss": -0.3293,
"regression_edge": -0.7143,
"xwoba_edge": -1.3143,
"barrel_edge": -1.1111,
"hard_hit_edge": -1.0143,
"whiff_edge": -0.5429,
"bb_edge": 0.525,
"pitch_design_score": -0.0118
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "607067",
"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": 89.47713144995562,
"release_spin_rate": 2040.5210967601724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.47713144995562,
"release_spin_rate": 2040.5210967601724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4771,
"release_spin_rate": 2040.5211,
"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.0118,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0842,
"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.6166,
"sample_weight": 0.824,
"run_prevention_factor": 1.0524,
"strikeout_factor": 0.9642,
"walk_factor": 0.9654,
"homer_factor": 1.1392,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "607067",
"espn_id": 33950,
"player_name": "Colin Rea",
"team": "CHC",
"role": "pitcher",
"espn_rank": 533,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 533,
"gp_value": 11.0,
"gp_rank": 245,
"gs_value": 8.0,
"gs_rank": 111,
"qs_value": 2.0,
"qs_rank": 100,
"era_value": 4.8333,
"era_rank": null,
"w_value": 4.0,
"w_rank": 36,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 54.0,
"ip_rank": 79,
"h_value": 57.0,
"h_rank": 36,
"er_value": 29.0,
"er_rank": 39,
"hr_value": 8.0,
"hr_rank": 41,
"bb_value": 17.0,
"bb_rank": 92,
"k_value": 44.0,
"k_rank": 95,
"k_per_9_value": 7.3333335,
"k_per_9_rank": 32,
"whip_value": 1.3703,
"whip_rank": null,
"war_value": -0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0432,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0432,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9715,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.1147,
"adjusted": 1
},
"predicted_SO": {
"original": 4.0,
"factor": 0.9705,
"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": 27,
"H": 53,
"BB": 17,
"SO": 40,
"HR": 7,
"ERA": 4.76470588235294,
"WHIP": 1.372549019607843,
"K9": 7.058823529411764,
"HR9": 1.2352941176470587,
"games_pitched": 10,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-23T00:00:00"
}{
"available": true,
"pitcher_id": "607067",
"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": 89.47713144995562,
"release_spin_rate": 2040.5210967601724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.47713144995562,
"release_spin_rate": 2040.5210967601724,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4771,
"release_spin_rate": 2040.5211,
"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.0118,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0842,
"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": "607067",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 5.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.2,
"ER": 15.0,
"R": 16.0,
"H": 31.0,
"BB": 8.0,
"SO": 20.0,
"HR": 5.0,
"BF": 117.0,
"Pitches": 461.0
},
"per_game": {
"IP": 5.1,
"ER": 3.0,
"R": 3.2,
"H": 6.2,
"BB": 1.6,
"SO": 4.0,
"HR": 1.0,
"BF": 23.4,
"Pitches": 92.2
},
"rates": {
"ERA": 5.0625,
"WHIP": 1.4625,
"ER_per_IP": 0.5625,
"H_per_IP": 1.1625,
"BB_per_IP": 0.3,
"SO_per_IP": 0.75,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 51.0,
"ER": 27.0,
"R": 28.0,
"H": 53.0,
"BB": 17.0,
"SO": 40.0,
"HR": 7.0,
"BF": 221.0,
"Pitches": 868.0
},
"per_game": {
"IP": 5.0,
"ER": 2.7,
"R": 2.8,
"H": 5.3,
"BB": 1.7,
"SO": 4.0,
"HR": 0.7,
"BF": 22.1,
"Pitches": 86.8
},
"rates": {
"ERA": 4.7647,
"WHIP": 1.3725,
"ER_per_IP": 0.52941,
"H_per_IP": 1.03922,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.78431,
"HR_per_IP": 0.13725
}
},
"season": {
"games": 11,
"totals": {
"IP": 54.0,
"ER": 29.0,
"R": 30.0,
"H": 57.0,
"BB": 17.0,
"SO": 44.0,
"HR": 8.0,
"BF": 234.0,
"Pitches": 910.0
},
"per_game": {
"IP": 5.0,
"ER": 2.6364,
"R": 2.7273,
"H": 5.1818,
"BB": 1.5455,
"SO": 4.0,
"HR": 0.7273,
"BF": 21.2727,
"Pitches": 82.7273
},
"rates": {
"ERA": 4.8333,
"WHIP": 1.3704,
"ER_per_IP": 0.53704,
"H_per_IP": 1.05556,
"BB_per_IP": 0.31481,
"SO_per_IP": 0.81481,
"HR_per_IP": 0.14815
}
}
},
"weighted_prediction": {
"predicted_IP": 5.1,
"predicted_ER": 2.721,
"predicted_H": 5.465,
"predicted_BB": 1.727,
"predicted_SO": 4.311,
"predicted_HR": 0.793,
"predicted_ERA": 4.7027,
"predicted_WHIP": 1.3812
}
}{
"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": 3.0,
"form": 2.721,
"final": 2.8555,
"source": "model_form_blend"
},
"predicted_H": {
"model": 7.0,
"form": 5.465,
"final": 6.2049,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.727,
"final": 0.8945,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 4.311,
"final": 5.1252,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.793,
"final": 0.8928,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7027,
"final": 4.7027,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3812,
"final": 1.3812,
"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.2719 |
| ESPN Rank | 275 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0722 |
| Avg Velo | 88.3980 |
| Avg Spin | 2389.4325 |
| 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.3143 |
| Season WHIP | 1.1143 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"opponent": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": 0.1233,
"opponent_offense_edge": 0.0684,
"defense_strength": -0.0436,
"opponent_defense_weakness": -0.0009,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9911,
"run_prevention": 1.0214,
"strikeout": 0.9909
},
"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": 43.0,
"k_percent": 26.1,
"bb_percent": 10.9,
"woba": 0.281,
"xwoba": 0.258,
"sweet_spot_percent": 27.6,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 31.0,
"avg_best_speed": 76.3782,
"avg_hyper_speed": 93.5022,
"whiff_percent": 24.5,
"swing_percent": 53.8
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.9347,
"command_and_miss": 0.08,
"regression_edge": 0.6571,
"xwoba_edge": 1.4571,
"barrel_edge": 0.0444,
"hard_hit_edge": 1.0714,
"whiff_edge": -0.2,
"bb_edge": -0.375,
"pitch_design_score": -0.0722
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573204",
"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.39801077521219,
"release_spin_rate": 2389.4324760653203,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.39801077521219,
"release_spin_rate": 2389.4324760653203,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.398,
"release_spin_rate": 2389.4325,
"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.0722,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5158,
"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.2719,
"sample_weight": 0.45,
"run_prevention_factor": 0.9769,
"strikeout_factor": 1.0054,
"walk_factor": 1.0135,
"homer_factor": 0.9594,
"woba_minus_xwoba": 0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573204",
"espn_id": 32440,
"player_name": "Caleb Thielbar",
"team": "CHC",
"role": "pitcher",
"espn_rank": 275,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 275,
"gp_value": 14.0,
"gp_rank": 200,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.0857,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 2.0,
"sv_rank": 49,
"hld_value": 1.0,
"hld_rank": 178,
"ip_value": 11.2,
"ip_rank": 417,
"h_value": 9.0,
"h_rank": 435,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 6.0,
"bb_rank": 371,
"k_value": 13.0,
"k_rank": 377,
"k_per_9_value": 10.028572,
"k_per_9_rank": 24,
"whip_value": 1.2857,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9896,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0061,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9817,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0024,
"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": 3,
"SO": 10,
"HR": 1,
"ERA": 3.375,
"WHIP": 1.375,
"K9": 11.25,
"HR9": 1.125,
"games_pitched": 9,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "573204",
"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.39801077521219,
"release_spin_rate": 2389.4324760653203,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.39801077521219,
"release_spin_rate": 2389.4324760653203,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.398,
"release_spin_rate": 2389.4325,
"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.0722,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.5158,
"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.301,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3152,
"prior_weight": 0.6848
},
"role": "pitcher",
"player_id": "573204",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 74.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": 14.8
},
"rates": {
"ERA": 1.9286,
"WHIP": 1.0714,
"ER_per_IP": 0.21429,
"H_per_IP": 0.85714,
"BB_per_IP": 0.21429,
"SO_per_IP": 0.64286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.1,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 3.0,
"SO": 10.0,
"HR": 1.0,
"BF": 37.0,
"Pitches": 148.0
},
"per_game": {
"IP": 0.2,
"ER": 0.3,
"R": 0.4,
"H": 0.8,
"BB": 0.3,
"SO": 1.0,
"HR": 0.1,
"BF": 3.7,
"Pitches": 14.8
},
"rates": {
"ERA": 3.24,
"WHIP": 1.32,
"ER_per_IP": 0.36,
"H_per_IP": 0.96,
"BB_per_IP": 0.36,
"SO_per_IP": 1.2,
"HR_per_IP": 0.12
}
},
"season": {
"games": 13,
"totals": {
"IP": 11.2,
"ER": 3.0,
"R": 4.0,
"H": 8.0,
"BB": 5.0,
"SO": 13.0,
"HR": 1.0,
"BF": 49.0,
"Pitches": 205.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2308,
"R": 0.3077,
"H": 0.6154,
"BB": 0.3846,
"SO": 1.0,
"HR": 0.0769,
"BF": 3.7692,
"Pitches": 15.7692
},
"rates": {
"ERA": 2.3143,
"WHIP": 1.1143,
"ER_per_IP": 0.25714,
"H_per_IP": 0.68571,
"BB_per_IP": 0.42857,
"SO_per_IP": 1.11429,
"HR_per_IP": 0.08571
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.394,
"predicted_H": 0.883,
"predicted_BB": 0.337,
"predicted_SO": 0.906,
"predicted_HR": 0.104,
"predicted_ERA": 3.6812,
"predicted_WHIP": 1.2664
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6393,
"form_weight": 0.3607,
"form_reliability": 0.3152,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.301,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3152,
"prior_weight": 0.6848
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.394,
"final": 0.1421,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.883,
"final": 0.3185,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.337,
"final": 0.1215,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.906,
"final": 0.3268,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.104,
"final": 0.0375,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.6812,
"final": 3.6812,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2664,
"final": 1.2664,
"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.0803 |
| ESPN Rank | 215 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 97.0960 |
| Avg Spin | 2198.5123 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 2 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.5312 |
| Season WHIP | 1.4062 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"opponent": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": 0.1233,
"opponent_offense_edge": 0.0684,
"defense_strength": -0.0436,
"opponent_defense_weakness": -0.0009,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9911,
"run_prevention": 1.0214,
"strikeout": 0.9909
},
"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": 36.0,
"k_percent": 26.1,
"bb_percent": 8.7,
"woba": 0.336,
"xwoba": 0.308,
"sweet_spot_percent": 56.7,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 26.7,
"avg_best_speed": 77.6875,
"avg_hyper_speed": 93.0237,
"whiff_percent": 34.5,
"swing_percent": 49.4
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.1847,
"command_and_miss": 0.69,
"regression_edge": 0.8,
"xwoba_edge": 0.0286,
"barrel_edge": -0.6,
"hard_hit_edge": 1.6857,
"whiff_edge": 1.2286,
"bb_edge": 0.175,
"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": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 97.09601490339726,
"release_spin_rate": 2198.512276897939,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 97.09601490339726,
"release_spin_rate": 2198.512276897939,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.096,
"release_spin_rate": 2198.5123,
"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.0803,
"sample_weight": 0.45,
"run_prevention_factor": 0.9932,
"strikeout_factor": 1.0311,
"walk_factor": 0.9937,
"homer_factor": 0.9909,
"woba_minus_xwoba": 0.028,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694037",
"espn_id": 4875225,
"player_name": "Daniel Palencia",
"team": "CHC",
"role": "pitcher",
"espn_rank": 215,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 215,
"gp_value": 12.0,
"gp_rank": 215,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.5312,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 3.0,
"sv_rank": 36,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 10.2,
"ip_rank": 425,
"h_value": 11.0,
"h_rank": 403,
"er_value": 3.0,
"er_rank": 485,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 4.0,
"bb_rank": 444,
"k_value": 12.0,
"k_rank": 392,
"k_per_9_value": 10.125,
"k_per_9_rank": 24,
"whip_value": 1.4062,
"whip_rank": null,
"war_value": 0.29,
"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": 0.9972,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9959,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.014,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 3,
"H": 8,
"BB": 4,
"SO": 10,
"HR": 2,
"ERA": 3.1153846153846154,
"WHIP": 1.3846153846153848,
"K9": 10.384615384615385,
"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-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "694037",
"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": 97.09601490339726,
"release_spin_rate": 2198.512276897939,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 97.09601490339726,
"release_spin_rate": 2198.512276897939,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.096,
"release_spin_rate": 2198.5123,
"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.104,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2962,
"prior_weight": 0.7038
},
"role": "pitcher",
"player_id": "694037",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 12,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 2.0,
"SO": 6.0,
"HR": 2.0,
"BF": 22.0,
"Pitches": 83.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.4,
"BB": 0.4,
"SO": 1.2,
"HR": 0.4,
"BF": 4.4,
"Pitches": 16.6
},
"rates": {
"ERA": 6.2308,
"WHIP": 2.0769,
"ER_per_IP": 0.69231,
"H_per_IP": 1.61538,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.38462,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 3.0,
"R": 3.0,
"H": 8.0,
"BB": 4.0,
"SO": 10.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 151.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.8,
"BB": 0.4,
"SO": 1.0,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.1
},
"rates": {
"ERA": 3.1154,
"WHIP": 1.3846,
"ER_per_IP": 0.34615,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 12,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 3.0,
"H": 11.0,
"BB": 4.0,
"SO": 12.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.25,
"H": 0.9167,
"BB": 0.3333,
"SO": 1.0,
"HR": 0.1667,
"BF": 3.8333,
"Pitches": 14.6667
},
"rates": {
"ERA": 2.5312,
"WHIP": 1.4062,
"ER_per_IP": 0.28125,
"H_per_IP": 1.03125,
"BB_per_IP": 0.375,
"SO_per_IP": 1.125,
"HR_per_IP": 0.1875
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.476,
"predicted_H": 1.036,
"predicted_BB": 0.391,
"predicted_SO": 1.035,
"predicted_HR": 0.189,
"predicted_ERA": 4.2884,
"predicted_WHIP": 1.4271
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6474,
"form_weight": 0.3526,
"form_reliability": 0.2962,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.104,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2962,
"prior_weight": 0.7038
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.476,
"final": 1.4626,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 1.036,
"final": 1.6601,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.391,
"final": 0.1379,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.035,
"final": 0.365,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.189,
"final": 0.714,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.2884,
"final": 4.2884,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4271,
"final": 1.4271,
"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.1828 |
| ESPN Rank | 314 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0298 |
| Avg Velo | 89.1546 |
| Avg Spin | 2393.6217 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 2.6620 |
| Season WHIP | 1.3521 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"opponent": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"edges": {
"quality_edge": -0.1221,
"offense_edge": 0.1233,
"opponent_offense_edge": 0.0684,
"defense_strength": -0.0436,
"opponent_defense_weakness": -0.0009,
"recent_win_pct_edge": -0.4
},
"player_factors": {
"ip": 0.9911,
"run_prevention": 1.0214,
"strikeout": 0.9909
},
"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": 98.0,
"k_percent": 27.3,
"bb_percent": 8.1,
"woba": 0.318,
"xwoba": 0.343,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 11.1,
"hard_hit_percent": 48.4,
"avg_best_speed": 81.6181,
"avg_hyper_speed": 95.6585,
"whiff_percent": 32.6,
"swing_percent": 52.8
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.9198,
"command_and_miss": 0.7021,
"regression_edge": -0.7143,
"xwoba_edge": -0.9714,
"barrel_edge": -0.8444,
"hard_hit_edge": -1.4143,
"whiff_edge": 0.9571,
"bb_edge": 0.325,
"pitch_design_score": -0.0298
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "657097",
"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.15461153243682,
"release_spin_rate": 2393.621692085908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.15461153243682,
"release_spin_rate": 2393.621692085908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1546,
"release_spin_rate": 2393.6217,
"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.0298,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2132,
"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.1828,
"sample_weight": 0.45,
"run_prevention_factor": 1.0155,
"strikeout_factor": 1.0293,
"walk_factor": 0.9883,
"homer_factor": 1.069,
"woba_minus_xwoba": -0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "657097",
"espn_id": 40384,
"player_name": "Jacob Webb",
"team": "CHC",
"role": "pitcher",
"espn_rank": 314,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 314,
"gp_value": 24.0,
"gp_rank": 41,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.6619,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 2.0,
"hld_rank": 147,
"ip_value": 23.2,
"ip_rank": 236,
"h_value": 24.0,
"h_rank": 190,
"er_value": 7.0,
"er_rank": 338,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 8.0,
"bb_rank": 282,
"k_value": 30.0,
"k_rank": 164,
"k_per_9_value": 11.408451,
"k_per_9_rank": 18,
"whip_value": 1.3521,
"whip_rank": null,
"war_value": 0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.007,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.007,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9947,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0311,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0132,
"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": 8,
"BB": 1,
"SO": 15,
"HR": 0,
"ERA": 0.8181818181818183,
"WHIP": 0.8181818181818183,
"K9": 12.272727272727275,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "657097",
"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.15461153243682,
"release_spin_rate": 2393.621692085908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.15461153243682,
"release_spin_rate": 2393.621692085908,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1546,
"release_spin_rate": 2393.6217,
"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.0298,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.2132,
"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.668,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4828,
"prior_weight": 0.5172
},
"role": "pitcher",
"player_id": "657097",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 0.0,
"SO": 10.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 95.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.0,
"SO": 2.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 19.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.9375,
"BB_per_IP": 0.0,
"SO_per_IP": 1.875,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 1.0,
"R": 1.0,
"H": 8.0,
"BB": 1.0,
"SO": 15.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 181.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.8,
"BB": 0.1,
"SO": 1.5,
"HR": 0.0,
"BF": 4.3,
"Pitches": 18.1
},
"rates": {
"ERA": 0.8182,
"WHIP": 0.8182,
"ER_per_IP": 0.09091,
"H_per_IP": 0.72727,
"BB_per_IP": 0.09091,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.2,
"ER": 7.0,
"R": 10.0,
"H": 24.0,
"BB": 8.0,
"SO": 30.0,
"HR": 3.0,
"BF": 102.0,
"Pitches": 430.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2917,
"R": 0.4167,
"H": 1.0,
"BB": 0.3333,
"SO": 1.25,
"HR": 0.125,
"BF": 4.25,
"Pitches": 17.9167
},
"rates": {
"ERA": 2.662,
"WHIP": 1.3521,
"ER_per_IP": 0.29577,
"H_per_IP": 1.01408,
"BB_per_IP": 0.33803,
"SO_per_IP": 1.26761,
"HR_per_IP": 0.12676
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.188,
"predicted_H": 0.598,
"predicted_BB": 0.157,
"predicted_SO": 0.818,
"predicted_HR": 0.052,
"predicted_ERA": 2.5888,
"predicted_WHIP": 1.1511
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5685,
"form_weight": 0.4315,
"form_reliability": 0.4828,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.668,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4828,
"prior_weight": 0.5172
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.188,
"final": 0.0811,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.598,
"final": 0.258,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.157,
"final": 1.2048,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.818,
"final": 0.353,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.052,
"final": 0.0224,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.5888,
"final": 2.5888,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1511,
"final": 1.1511,
"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.237 | 0.000 | 1.000 | Hitting_2B | 0.237 | 0.000 | -0.237 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.550 | 5.000 | 11.000 | Hitting_AB | 4.197 | 5.000 | 0.803 | 0.000 |
| predicted_AVG | 0.234 | 0.200 | 0.273 | Hitting_AVG | 0.259 | 0.400 | -0.059 | -0.200 |
| 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.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 1.060 | 1.000 | 3.000 | Hitting_H | 1.088 | 2.000 | -0.088 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.084 | 0.000 | -0.084 | 0.000 |
| predicted_OBP | 0.327 | 0.200 | 0.333 | Hitting_OBP | 0.346 | 0.500 | -0.146 | -0.300 |
| predicted_R | 0.494 | 1.000 | 1.000 | Hitting_R | 0.494 | 1.000 | 0.506 | 0.000 |
| predicted_RBI | 0.520 | 1.000 | 2.000 | Hitting_RBI | 0.647 | 1.000 | 0.353 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.193 | 0.000 | -0.193 | 0.000 |
| predicted_SLG | 0.353 | 0.200 | 0.364 | Hitting_SLG | 0.376 | 0.400 | -0.176 | -0.200 |
| predicted_SO | 0.341 | 0.000 | 1.000 | Hitting_SO | 0.341 | 1.000 | -0.341 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_R: 0.4940 -> 1.0000 (boost 0.5060, better) |
| Biggest Deboost | predicted_BB: 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: 4.5500 -> 11.2262 (boost 6.6762, 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.2502 -> 0.2609 (boost 0.0107, 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 | 3 | 4 | predicted_2B: 0.5647 -> 1.0000 (boost 0.4353, better) | predicted_BB: 1.4372 -> 1.0000 (deboost -0.4372, worse) | AB rounded to 11 (raw=11.23), rates preserved: AVG=0.261 HR/AB=0.018 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3285 -> 1.0000 (deboost -0.3285, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2609 -> 0.2730 (boost 0.0121, better) | predicted_OBP: 0.3448 -> 0.3330 (deboost -0.0118, 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: 11.0000 -> 5.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3330 -> 0.3448 (boost 0.0118, better) | predicted_AVG: 0.2730 -> 0.2609 (deboost -0.0121, worse) | 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.237,
"predicted_3B": 0.0,
"predicted_AB": 4.55,
"predicted_AVG": 0.234,
"predicted_BB": 0.538,
"predicted_H": 1.06,
"predicted_HR": 0.08,
"predicted_OBP": 0.327,
"predicted_R": 0.494,
"predicted_RBI": 0.52,
"predicted_SLG": 0.353,
"predicted_SO": 0.341
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.5647,
"predicted_3B": 0.0009,
"predicted_AB": 11.2262,
"predicted_AVG": 0.2502,
"predicted_BB": 1.4353,
"predicted_H": 2.9427,
"predicted_HBP": 0.182,
"predicted_HR": 0.2022,
"predicted_OBP": 0.34,
"predicted_R": 1.3421,
"predicted_RBI": 1.6299,
"predicted_SLG": 0.3627,
"predicted_SO": 1.0448
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.237,
"after": 0.5647,
"delta": 0.3277,
"percent_delta": 1.3827,
"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.55,
"after": 11.2262,
"delta": 6.6762,
"percent_delta": 1.4673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2502,
"delta": 0.0162,
"percent_delta": 0.0692,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.538,
"after": 1.4353,
"delta": 0.8973,
"percent_delta": 1.6678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.06,
"after": 2.9427,
"delta": 1.8827,
"percent_delta": 1.7761,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.2022,
"delta": 0.1222,
"percent_delta": 1.5275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.34,
"delta": 0.013,
"percent_delta": 0.0398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 1.3421,
"delta": 0.8481,
"percent_delta": 1.7168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.6299,
"delta": 1.1099,
"percent_delta": 2.1344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.353,
"after": 0.3627,
"delta": 0.0097,
"percent_delta": 0.0275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.341,
"after": 1.0448,
"delta": 0.7038,
"percent_delta": 2.0639,
"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.55,
"after": 11.2262,
"delta": 6.6762,
"percent_delta": 1.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": 1,
"last_10": 2,
"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.5647,
"predicted_3B": 0.0009,
"predicted_AB": 11.2262,
"predicted_AVG": 0.2609,
"predicted_BB": 1.4372,
"predicted_H": 2.9292,
"predicted_HBP": 0.182,
"predicted_HR": 0.2039,
"predicted_OBP": 0.3448,
"predicted_R": 1.3285,
"predicted_RBI": 1.6134,
"predicted_SLG": 0.3659,
"predicted_SO": 1.0434
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5647,
"after": 0.5647,
"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": 11.2262,
"after": 11.2262,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2502,
"after": 0.2609,
"delta": 0.0107,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4353,
"after": 1.4372,
"delta": 0.0019,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.9427,
"after": 2.9292,
"delta": -0.0135,
"percent_delta": -0.0046,
"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.2022,
"after": 0.2039,
"delta": 0.0017,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3448,
"delta": 0.0048,
"percent_delta": 0.0141,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3421,
"after": 1.3285,
"delta": -0.0136,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.6299,
"after": 1.6134,
"delta": -0.0165,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3627,
"after": 0.3659,
"delta": 0.0032,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0448,
"after": 1.0434,
"delta": -0.0014,
"percent_delta": -0.0013,
"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.2502,
"after": 0.2609,
"delta": 0.0107,
"percent_delta": 0.0428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 11 (raw=11.23), rates preserved: AVG=0.261 HR/AB=0.018",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5647,
"after": 1.0,
"delta": 0.4353,
"percent_delta": 0.7709,
"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": 11.2262,
"after": 11.0,
"delta": -0.2262,
"percent_delta": -0.0201,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.4372,
"after": 1.0,
"delta": -0.4372,
"percent_delta": -0.3042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.9292,
"after": 3.0,
"delta": 0.0708,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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.2039,
"after": 0.0,
"delta": -0.2039,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.6134,
"after": 2.0,
"delta": 0.3866,
"percent_delta": 0.2396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0434,
"after": 1.0,
"delta": -0.0434,
"percent_delta": -0.0416,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.5647,
"after": 1.0,
"delta": 0.4353,
"percent_delta": 0.7709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.4372,
"after": 1.0,
"delta": -0.4372,
"percent_delta": -0.3042,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.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": 11.0,
"after": 11.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_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": 2.0,
"after": 2.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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 2.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": 11.0,
"after": 11.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3285,
"after": 1.0,
"delta": -0.3285,
"percent_delta": -0.2473,
"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": 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.3285,
"after": 1.0,
"delta": -0.3285,
"percent_delta": -0.2473,
"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": 11.0,
"predicted_AVG": 0.273,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.364,
"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": 11.0,
"after": 11.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2609,
"after": 0.273,
"delta": 0.0121,
"percent_delta": 0.0464,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3448,
"after": 0.333,
"delta": -0.0118,
"percent_delta": -0.0342,
"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_SLG",
"before": 0.3659,
"after": 0.364,
"delta": -0.0019,
"percent_delta": -0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2609,
"after": 0.273,
"delta": 0.0121,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3448,
"after": 0.333,
"delta": -0.0118,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.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": 11.0,
"after": 5.0,
"delta": -6.0,
"percent_delta": -0.5455,
"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": 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": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 11.0,
"after": 5.0,
"delta": -6.0,
"percent_delta": -0.5455,
"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.2609,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3448,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3659,
"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.273,
"after": 0.2609,
"delta": -0.0121,
"percent_delta": -0.0442,
"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.3448,
"delta": 0.0118,
"percent_delta": 0.0354,
"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.364,
"after": 0.3659,
"delta": 0.0019,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3448,
"delta": 0.0118,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2609,
"delta": -0.0121,
"percent_delta": -0.0442,
"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.237,
"after": 0.0,
"delta": -0.237,
"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.55,
"after": 5.0,
"delta": 0.45,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.2609,
"delta": 0.0269,
"percent_delta": 0.115,
"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": 1.06,
"after": 1.0,
"delta": -0.06,
"percent_delta": -0.0566,
"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.327,
"after": 0.3448,
"delta": 0.0178,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.494,
"after": 1.0,
"delta": 0.506,
"percent_delta": 1.0243,
"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.353,
"after": 0.3659,
"delta": 0.0129,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.341,
"after": 0.0,
"delta": -0.341,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.494,
"after": 1.0,
"delta": 0.506,
"percent_delta": 1.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "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.000 | - |
| predicted_AB | 4.550 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.538 | - |
| predicted_H | 1.060 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.494 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.353 | - |
| predicted_SO | 0.341 | - |
Final model 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.328 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 11.226 | 6.676 |
| predicted_AVG | 0.250 | 0.016 |
| predicted_BB | 1.435 | 0.897 |
| predicted_H | 2.943 | 1.883 |
| predicted_HBP | 0.182 | - |
| predicted_HR | 0.202 | 0.122 |
| predicted_OBP | 0.340 | 0.013 |
| predicted_R | 1.342 | 0.848 |
| predicted_RBI | 1.630 | 1.110 |
| predicted_SLG | 0.363 | 0.010 |
| predicted_SO | 1.045 | 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.565 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 11.226 | 0.000 |
| predicted_AVG | 0.261 | 0.011 |
| predicted_BB | 1.437 | 0.002 |
| predicted_H | 2.929 | -0.014 |
| predicted_HBP | 0.182 | 0.000 |
| predicted_HR | 0.204 | 0.002 |
| predicted_OBP | 0.345 | 0.005 |
| predicted_R | 1.329 | -0.014 |
| predicted_RBI | 1.613 | -0.016 |
| predicted_SLG | 0.366 | 0.003 |
| predicted_SO | 1.043 | -0.001 |
AB rounded to 11 (raw=11.23), rates preserved: AVG=0.261 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 11.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.333)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 11.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 2.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 | 11.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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 | 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.435 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 11.000 | -0.226 |
| predicted_AVG | 0.273 | 0.012 |
| predicted_BB | 1.000 | -0.437 |
| predicted_H | 3.000 | 0.071 |
| predicted_HR | 0.000 | -0.204 |
| predicted_OBP | 0.333 | -0.012 |
| predicted_R | 1.000 | -0.329 |
| predicted_RBI | 2.000 | 0.387 |
| predicted_SLG | 0.364 | -0.002 |
| predicted_SO | 1.000 | -0.043 |
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 | -6.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.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 | 1 | - | 25.000 | 10.000 | 0.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 5.000 | 0.4000 | 0.5000 | 0.4000 | 0.4000 | 0.0000 | 0.2000 | 0.2000 | 0.2000 |
| last_10 | 0.20 | 2 | - | 50.000 | 16.000 | 0.000 | 0.000 | 0.000 | 6.000 | 6.000 | 6.000 | 10.000 | 0.3200 | 0.3929 | 0.3200 | 0.3200 | 0.0000 | 0.1200 | 0.1200 | 0.2000 |
| season | 0.60 | 54 | - | 1045.000 | 271.000 | 59.000 | 0.000 | 21.000 | 161.000 | 123.000 | 134.000 | 85.000 | 0.2593 | 0.3455 | 0.3761 | 0.2593 | 0.0201 | 0.1541 | 0.1282 | 0.0813 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9770 |
| predicted_3B | 0.0020 |
| predicted_AB | 19.6240 |
| predicted_AVG | 0.2706 |
| predicted_BB | 2.5640 |
| predicted_H | 5.3110 |
| predicted_HBP | 0.1820 |
| predicted_HR | 0.3560 |
| predicted_OBP | 0.3563 |
| predicted_R | 2.4090 |
| predicted_RBI | 3.0260 |
| predicted_SLG | 0.3750 |
| predicted_SO | 1.9300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2370 | 0.9770 | 0.5647 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.5500 | 19.6240 | 11.2262 | model_form_blend |
| predicted_AVG | 0.2340 | 0.2706 | 0.2502 | model_form_blend |
| predicted_BB | 0.5380 | 2.5640 | 1.4353 | model_form_blend |
| predicted_H | 1.0600 | 5.3110 | 2.9427 | model_form_blend |
| predicted_HBP | - | 0.1820 | 0.1820 | form_only |
| predicted_HR | 0.0800 | 0.3560 | 0.2022 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3563 | 0.3400 | model_form_blend |
| predicted_R | 0.4940 | 2.4090 | 1.3421 | model_form_blend |
| predicted_RBI | 0.5200 | 3.0260 | 1.6299 | model_form_blend |
| predicted_SLG | 0.3530 | 0.3750 | 0.3627 | model_form_blend |
| predicted_SO | 0.3410 | 1.9300 | 1.0448 | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 1 |
| 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 | 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 | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 663538 |
| playerID | 663538 |
| playerName | Nico Hoerner |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 7.7 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.32 |
| sl_xwoba | 0.331 |
| sl_xba | 0.285 |
| sl_xslg | 0.37 |
| sl_sweet_spot_percent | 38.4 |
| sl_barrel_batted_rate | 1.5 |
| sl_hard_hit_percent | 25.8 |
| sl_exit_velocity_avg | 85.2 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 11.4 |
| sl_swing_percent | 42.4 |
| at_bat_number | 79.0 |
| ab_pitcher | 642701.0 |
| ab_pitcher_name | Santana, Dennis |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| 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 | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Nico Hoerner pops out softly to catcher Endy Rodríguez in foul territory. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 49.8 |
| ab_launch_angle_last | 81.0 |
| ab_hit_distance_last | 47.0 |
| ab_estimated_ba_last | 0.006 |
| ab_estimated_woba_last | 0.005 |
| ab_estimated_slg_last | 0.006 |
| 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 | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 88.525 |
| ab_release_spin_rate_avg | 2678.75 |
| ab_effective_speed_avg | 88.325 |
| ab_launch_speed_avg | 49.8 |
| ab_launch_angle_avg | 81.0 |
| ab_delta_run_exp_avg | -0.064 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.064 |
| ab_bat_speed_avg | 67.4 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 49.8 |
| ab_hit_distance_sc_max | 47.0 |
| ab_release_speed_max | 95.4 |
| ab_release_spin_rate_max | 2762.0 |
| ab_release_speed_min | 85.4 |
| ab_release_spin_rate_min | 2556.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.114 | 0.000 | 0.000 | Hitting_2B | 0.114 | 1.000 | -0.114 | -1.000 |
| predicted_3B | 0.035 | 0.000 | 0.000 | Hitting_3B | 0.035 | 0.000 | -0.035 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 9.000 | Hitting_AB | 3.658 | 5.000 | 0.342 | -1.000 |
| predicted_AVG | 0.222 | 0.500 | 0.222 | Hitting_AVG | 0.240 | 0.200 | 0.260 | 0.300 |
| predicted_BB | 0.404 | 1.000 | 1.000 | Hitting_BB | 0.404 | 1.000 | 0.596 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.075 | 0.000 | -0.075 | 0.000 |
| predicted_H | 0.910 | 2.000 | 2.000 | Hitting_H | 0.877 | 1.000 | 1.123 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.321 | 0.600 | 0.300 | Hitting_OBP | 0.333 | 0.333 | 0.267 | 0.267 |
| predicted_R | 0.561 | 1.000 | 1.000 | Hitting_R | 0.561 | 1.000 | 0.439 | 0.000 |
| predicted_RBI | 0.470 | 3.000 | 1.000 | Hitting_RBI | 0.469 | 1.000 | 2.531 | 2.000 |
| predicted_SLG | 0.363 | 0.500 | 0.222 | Hitting_SLG | 0.384 | 0.400 | 0.116 | 0.100 |
| predicted_SO | 1.035 | 1.000 | 3.000 | Hitting_SO | 1.035 | 3.000 | -0.035 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 6 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.4700 -> 3.0000 (boost 2.5300, better) |
| Biggest Deboost | predicted_HR: 0.1200 -> 0.0000 (deboost -0.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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.0800 -> 9.2119 (boost 5.1319, 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.3274 -> 0.3104 (deboost -0.0170, 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: 2.7059 -> 3.0000 (boost 0.2941, worse) | predicted_HBP: 0.5250 -> 0.0000 (deboost -0.5250, worse) | AB rounded to 9 (raw=9.21), rates preserved: AVG=0.233 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.250) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3719 -> 1.0000 (deboost -0.3719, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3777 -> 0.2220 (deboost -0.1557, 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_RBI: 1.0000 -> 3.0000 (boost 2.0000, better) | predicted_AB: 9.0000 -> 4.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2220 -> 0.3777 (boost 0.1557, better) | - | 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.114,
"predicted_3B": 0.035,
"predicted_AB": 4.08,
"predicted_AVG": 0.222,
"predicted_BB": 0.404,
"predicted_H": 0.91,
"predicted_HR": 0.12,
"predicted_OBP": 0.321,
"predicted_R": 0.561,
"predicted_RBI": 0.47,
"predicted_SLG": 0.363,
"predicted_SO": 1.035
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3945,
"predicted_3B": 0.0773,
"predicted_AB": 9.2119,
"predicted_AVG": 0.2289,
"predicted_BB": 1.0317,
"predicted_H": 2.1566,
"predicted_HBP": 0.525,
"predicted_HR": 0.2589,
"predicted_OBP": 0.3274,
"predicted_R": 1.3859,
"predicted_RBI": 1.1868,
"predicted_SLG": 0.3728,
"predicted_SO": 2.7094
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.3945,
"delta": 0.2805,
"percent_delta": 2.4605,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.035,
"after": 0.0773,
"delta": 0.0423,
"percent_delta": 1.2086,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 9.2119,
"delta": 5.1319,
"percent_delta": 1.2578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2289,
"delta": 0.0069,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 1.0317,
"delta": 0.6277,
"percent_delta": 1.5537,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 2.1566,
"delta": 1.2466,
"percent_delta": 1.3699,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2589,
"delta": 0.1389,
"percent_delta": 1.1575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3274,
"delta": 0.0064,
"percent_delta": 0.0199,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 1.3859,
"delta": 0.8249,
"percent_delta": 1.4704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.1868,
"delta": 0.7168,
"percent_delta": 1.5251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3728,
"delta": 0.0098,
"percent_delta": 0.027,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.035,
"after": 2.7094,
"delta": 1.6744,
"percent_delta": 1.6178,
"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.08,
"after": 9.2119,
"delta": 5.1319,
"percent_delta": 1.2578,
"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": 1,
"last_10": 2,
"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.3945,
"predicted_3B": 0.0773,
"predicted_AB": 9.2119,
"predicted_AVG": 0.233,
"predicted_BB": 1.033,
"predicted_H": 2.1467,
"predicted_HBP": 0.525,
"predicted_HR": 0.2611,
"predicted_OBP": 0.3104,
"predicted_R": 1.3719,
"predicted_RBI": 1.1748,
"predicted_SLG": 0.3777,
"predicted_SO": 2.7059
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3945,
"after": 0.3945,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0773,
"after": 0.0773,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.2119,
"after": 9.2119,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2289,
"after": 0.233,
"delta": 0.0041,
"percent_delta": 0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0317,
"after": 1.033,
"delta": 0.0013,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1566,
"after": 2.1467,
"delta": -0.0099,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.525,
"after": 0.525,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2589,
"after": 0.2611,
"delta": 0.0022,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3274,
"after": 0.3104,
"delta": -0.017,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3859,
"after": 1.3719,
"delta": -0.014,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1868,
"after": 1.1748,
"delta": -0.012,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3728,
"after": 0.3777,
"delta": 0.0049,
"percent_delta": 0.0131,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.7094,
"after": 2.7059,
"delta": -0.0035,
"percent_delta": -0.0013,
"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.3274,
"after": 0.3104,
"delta": -0.017,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.21), rates preserved: AVG=0.233 HR/AB=0.028",
"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.3945,
"after": 0.0,
"delta": -0.3945,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0773,
"after": 0.0,
"delta": -0.0773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 9.2119,
"after": 9.0,
"delta": -0.2119,
"percent_delta": -0.023,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.033,
"after": 1.0,
"delta": -0.033,
"percent_delta": -0.0319,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1467,
"after": 2.0,
"delta": -0.1467,
"percent_delta": -0.0683,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.525,
"after": 0.0,
"delta": -0.525,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2611,
"after": 0.0,
"delta": -0.2611,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1748,
"after": 1.0,
"delta": -0.1748,
"percent_delta": -0.1488,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7059,
"after": 3.0,
"delta": 0.2941,
"percent_delta": 0.1087,
"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": 2.7059,
"after": 3.0,
"delta": 0.2941,
"percent_delta": 0.1087,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.525,
"after": 0.0,
"delta": -0.525,
"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.250)",
"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.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": 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.3719,
"after": 1.0,
"delta": -0.3719,
"percent_delta": -0.2711,
"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.3719,
"after": 1.0,
"delta": -0.3719,
"percent_delta": -0.2711,
"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.233,
"after": 0.222,
"delta": -0.011,
"percent_delta": -0.0472,
"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.3104,
"after": 0.3,
"delta": -0.0104,
"percent_delta": -0.0335,
"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.3777,
"after": 0.222,
"delta": -0.1557,
"percent_delta": -0.4122,
"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.3777,
"after": 0.222,
"delta": -0.1557,
"percent_delta": -0.4122,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"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.233,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3104,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3777,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.233,
"delta": 0.011,
"percent_delta": 0.0497,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.3104,
"delta": 0.0104,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.222,
"after": 0.3777,
"delta": 0.1557,
"percent_delta": 0.7013,
"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.3777,
"delta": 0.1557,
"percent_delta": 0.7013,
"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": 0.0,
"delta": -0.114,
"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": 4.08,
"after": 4.0,
"delta": -0.08,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.233,
"delta": 0.011,
"percent_delta": 0.0495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 1.0,
"delta": 0.596,
"percent_delta": 1.4752,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 2.0,
"delta": 1.09,
"percent_delta": 1.1978,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.321,
"after": 0.3104,
"delta": -0.0106,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.561,
"after": 1.0,
"delta": 0.439,
"percent_delta": 0.7825,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 3.0,
"delta": 2.53,
"percent_delta": 5.383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.363,
"after": 0.3777,
"delta": 0.0147,
"percent_delta": 0.0405,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.035,
"after": 1.0,
"delta": -0.035,
"percent_delta": -0.0338,
"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_RBI",
"before": 0.47,
"after": 3.0,
"delta": 2.53,
"percent_delta": 5.383,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"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.035 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.404 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.321 | - |
| predicted_R | 0.561 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.363 | - |
| predicted_SO | 1.035 | - |
Final model 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.395 | 0.281 |
| predicted_3B | 0.077 | 0.042 |
| predicted_AB | 9.212 | 5.132 |
| predicted_AVG | 0.229 | 0.007 |
| predicted_BB | 1.032 | 0.628 |
| predicted_H | 2.157 | 1.247 |
| predicted_HBP | 0.525 | - |
| predicted_HR | 0.259 | 0.139 |
| predicted_OBP | 0.327 | 0.006 |
| predicted_R | 1.386 | 0.825 |
| predicted_RBI | 1.187 | 0.717 |
| predicted_SLG | 0.373 | 0.010 |
| predicted_SO | 2.709 | 1.674 |
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.395 | 0.000 |
| predicted_3B | 0.077 | 0.000 |
| predicted_AB | 9.212 | 0.000 |
| predicted_AVG | 0.233 | 0.004 |
| predicted_BB | 1.033 | 0.001 |
| predicted_H | 2.147 | -0.010 |
| predicted_HBP | 0.525 | 0.000 |
| predicted_HR | 0.261 | 0.002 |
| predicted_OBP | 0.310 | -0.017 |
| predicted_R | 1.372 | -0.014 |
| predicted_RBI | 1.175 | -0.012 |
| predicted_SLG | 0.378 | 0.005 |
| predicted_SO | 2.706 | -0.003 |
AB rounded to 9 (raw=9.21), rates preserved: AVG=0.233 HR/AB=0.028
| 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=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 | 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.395 |
| predicted_3B | 0.000 | -0.077 |
| predicted_AB | 9.000 | -0.212 |
| predicted_AVG | 0.222 | -0.011 |
| predicted_BB | 1.000 | -0.033 |
| predicted_H | 2.000 | -0.147 |
| predicted_HR | 0.000 | -0.261 |
| predicted_OBP | 0.300 | -0.010 |
| predicted_R | 1.000 | -0.372 |
| predicted_RBI | 1.000 | -0.175 |
| predicted_SLG | 0.222 | -0.156 |
| predicted_SO | 3.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 | -5.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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 2.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 | 1 | - | 25.000 | 5.000 | 5.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 15.000 | 0.2000 | 0.3333 | 0.4000 | 0.2000 | 0.0000 | 0.2000 | 0.2000 | 0.6000 |
| last_10 | 0.20 | 2 | - | 42.000 | 10.000 | 6.000 | 0.000 | 0.000 | 6.000 | 6.000 | 6.000 | 18.000 | 0.2381 | 0.3846 | 0.3810 | 0.2381 | 0.0000 | 0.1429 | 0.1429 | 0.4286 |
| season | 0.60 | 55 | - | 834.000 | 200.000 | 26.000 | 8.000 | 26.000 | 107.000 | 128.000 | 92.000 | 236.000 | 0.2398 | 0.3330 | 0.3837 | 0.2398 | 0.0312 | 0.1283 | 0.1103 | 0.2830 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7500 |
| predicted_3B | 0.1310 |
| predicted_AB | 15.7140 |
| predicted_AVG | 0.2377 |
| predicted_BB | 1.8270 |
| predicted_H | 3.7360 |
| predicted_HBP | 0.5250 |
| predicted_HR | 0.4350 |
| predicted_OBP | 0.3354 |
| predicted_R | 2.4310 |
| predicted_RBI | 2.0950 |
| predicted_SLG | 0.3852 |
| predicted_SO | 4.8310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.7500 | 0.3945 | model_form_blend |
| predicted_3B | 0.0350 | 0.1310 | 0.0773 | model_form_blend |
| predicted_AB | 4.0800 | 15.7140 | 9.2119 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2377 | 0.2289 | model_form_blend |
| predicted_BB | 0.4040 | 1.8270 | 1.0317 | model_form_blend |
| predicted_H | 0.9100 | 3.7360 | 2.1566 | model_form_blend |
| predicted_HBP | - | 0.5250 | 0.5250 | form_only |
| predicted_HR | 0.1200 | 0.4350 | 0.2589 | model_form_blend |
| predicted_OBP | 0.3210 | 0.3354 | 0.3274 | model_form_blend |
| predicted_R | 0.5610 | 2.4310 | 1.3859 | model_form_blend |
| predicted_RBI | 0.4700 | 2.0950 | 1.1868 | model_form_blend |
| predicted_SLG | 0.3630 | 0.3852 | 0.3728 | model_form_blend |
| predicted_SO | 1.0350 | 4.8310 | 2.7094 | 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 | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 1 |
| 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 | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 3 |
| 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 | CF |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 691718 |
| playerID | 691718 |
| playerName | Pete Crow-Armstrong |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.305 |
| sl_xwoba | 0.329 |
| sl_xba | 0.244 |
| sl_xslg | 0.412 |
| sl_sweet_spot_percent | 28.9 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 48.6 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 18.5 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 52.6 |
| at_bat_number | 74.0 |
| ab_pitcher | 642701.0 |
| ab_pitcher_name | Santana, Dennis |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 621020.0 |
| ab_on_2b_start | 608348.0 |
| ab_on_3b_start | 624424.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | strikeout |
| ab_event_description | Pete Crow-Armstrong strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.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 | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 90.4 |
| ab_release_spin_rate_avg | 2470.0 |
| ab_effective_speed_avg | 89.85 |
| ab_delta_run_exp_avg | -0.0595 |
| ab_delta_home_win_exp_avg | 0.0005 |
| ab_delta_pitcher_run_exp_avg | 0.0595 |
| ab_bat_speed_avg | 72.35 |
| ab_swing_length_avg | 7.45 |
| ab_release_speed_max | 94.3 |
| ab_release_spin_rate_max | 2711.0 |
| ab_release_speed_min | 85.6 |
| ab_release_spin_rate_min | 2344.0 |
| ab_delta_run_exp_sum | -0.238 |
| ab_delta_home_win_exp_sum | 0.002 |
| ab_delta_pitcher_run_exp_sum | 0.238 |
| 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.211 | 0.000 | 0.000 | Hitting_2B | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.970 | 5.000 | 9.000 | Hitting_AB | 3.698 | 3.000 | 1.302 | 2.000 |
| predicted_AVG | 0.235 | 0.200 | 0.222 | Hitting_AVG | 0.239 | 0.333 | -0.039 | -0.133 |
| predicted_BB | 0.773 | 0.000 | 2.000 | Hitting_BB | 0.773 | 2.000 | -0.773 | -2.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.930 | 1.000 | 2.000 | Hitting_H | 0.884 | 1.000 | 0.116 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_OBP | 0.363 | 0.200 | 0.364 | Hitting_OBP | 0.381 | 0.667 | -0.181 | -0.467 |
| predicted_R | 0.479 | 0.000 | 1.000 | Hitting_R | 0.479 | 1.000 | -0.479 | -1.000 |
| predicted_RBI | 0.610 | 0.000 | 2.000 | Hitting_RBI | 0.632 | 1.000 | -0.632 | -1.000 |
| predicted_SLG | 0.434 | 0.200 | 0.222 | Hitting_SLG | 0.408 | 0.333 | -0.208 | -0.133 |
| predicted_SO | 0.983 | 2.000 | 3.000 | Hitting_SO | 0.983 | 1.000 | 1.017 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.9700 -> 5.0000 (boost 1.0300, better) |
| Biggest Deboost | predicted_BB: 0.7730 -> 0.0000 (deboost -0.7730, 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: 3.9700 -> 9.3687 (boost 5.3987, better) | predicted_SLG: 0.4340 -> 0.4176 (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 | 1 | 1 | 1 | 1 | predicted_OBP: 0.3823 -> 0.3874 (boost 0.0051, better) | predicted_SLG: 0.4176 -> 0.4073 (deboost -0.0103, 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: 1.6083 -> 2.0000 (boost 0.3917, better) | predicted_HBP: 0.8490 -> 0.0000 (deboost -0.8490, worse) | AB rounded to 9 (raw=9.37), rates preserved: AVG=0.244 HR/AB=0.034 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 2.0000 -> 3.0000 (boost 1.0000, worse) | - | Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2838 -> 1.0000 (deboost -0.2838, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4073 -> 0.2220 (deboost -0.1853, 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 -> 5.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.2220 -> 0.4073 (boost 0.1853, 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.211,
"predicted_3B": 0.021,
"predicted_AB": 3.97,
"predicted_AVG": 0.235,
"predicted_BB": 0.773,
"predicted_H": 0.93,
"predicted_HR": 0.19,
"predicted_OBP": 0.363,
"predicted_R": 0.479,
"predicted_RBI": 0.61,
"predicted_SLG": 0.434,
"predicted_SO": 0.983
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0467,
"predicted_AB": 9.3687,
"predicted_AVG": 0.2407,
"predicted_BB": 2.1964,
"predicted_H": 2.2928,
"predicted_HBP": 0.849,
"predicted_HR": 0.3183,
"predicted_OBP": 0.3823,
"predicted_R": 1.2969,
"predicted_RBI": 1.6247,
"predicted_SLG": 0.4176,
"predicted_SO": 2.4816
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.211,
"after": 0.4773,
"delta": 0.2663,
"percent_delta": 1.2621,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0467,
"delta": 0.0257,
"percent_delta": 1.2238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.97,
"after": 9.3687,
"delta": 5.3987,
"percent_delta": 1.3599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2407,
"delta": 0.0057,
"percent_delta": 0.0243,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.773,
"after": 2.1964,
"delta": 1.4234,
"percent_delta": 1.8414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 2.2928,
"delta": 1.3628,
"percent_delta": 1.4654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.3183,
"delta": 0.1283,
"percent_delta": 0.6753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3823,
"delta": 0.0193,
"percent_delta": 0.0532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.479,
"after": 1.2969,
"delta": 0.8179,
"percent_delta": 1.7075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.6247,
"delta": 1.0147,
"percent_delta": 1.6634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4176,
"delta": -0.0164,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.983,
"after": 2.4816,
"delta": 1.4986,
"percent_delta": 1.5245,
"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": 3.97,
"after": 9.3687,
"delta": 5.3987,
"percent_delta": 1.3599,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4176,
"delta": -0.0164,
"percent_delta": -0.0378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 1,
"last_10": 2,
"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.4773,
"predicted_3B": 0.0467,
"predicted_AB": 9.3687,
"predicted_AVG": 0.2436,
"predicted_BB": 2.1993,
"predicted_H": 2.2823,
"predicted_HBP": 0.849,
"predicted_HR": 0.321,
"predicted_OBP": 0.3874,
"predicted_R": 1.2838,
"predicted_RBI": 1.6083,
"predicted_SLG": 0.4073,
"predicted_SO": 2.4784
},
"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.0467,
"after": 0.0467,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.3687,
"after": 9.3687,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2407,
"after": 0.2436,
"delta": 0.0029,
"percent_delta": 0.012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 2.1964,
"after": 2.1993,
"delta": 0.0029,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2928,
"after": 2.2823,
"delta": -0.0105,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.849,
"after": 0.849,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3183,
"after": 0.321,
"delta": 0.0027,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3823,
"after": 0.3874,
"delta": 0.0051,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2969,
"after": 1.2838,
"delta": -0.0131,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.6247,
"after": 1.6083,
"delta": -0.0164,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4176,
"after": 0.4073,
"delta": -0.0103,
"percent_delta": -0.0247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4816,
"after": 2.4784,
"delta": -0.0032,
"percent_delta": -0.0013,
"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.3823,
"after": 0.3874,
"delta": 0.0051,
"percent_delta": 0.0133,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4176,
"after": 0.4073,
"delta": -0.0103,
"percent_delta": -0.0247,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.37), rates preserved: AVG=0.244 HR/AB=0.034",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 2.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.4773,
"after": 0.0,
"delta": -0.4773,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0467,
"after": 0.0,
"delta": -0.0467,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.3687,
"after": 9.0,
"delta": -0.3687,
"percent_delta": -0.0394,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.1993,
"after": 2.0,
"delta": -0.1993,
"percent_delta": -0.0906,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2823,
"after": 2.0,
"delta": -0.2823,
"percent_delta": -0.1237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.849,
"after": 0.0,
"delta": -0.849,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.321,
"after": 0.0,
"delta": -0.321,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.6083,
"after": 2.0,
"delta": 0.3917,
"percent_delta": 0.2435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4784,
"after": 2.0,
"delta": -0.4784,
"percent_delta": -0.193,
"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": 1.6083,
"after": 2.0,
"delta": 0.3917,
"percent_delta": 0.2435,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.849,
"after": 0.0,
"delta": -0.849,
"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.286)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.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": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"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": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"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": "worse",
"material": true
},
"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": 9.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": 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": 9.0,
"after": 9.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.2838,
"after": 1.0,
"delta": -0.2838,
"percent_delta": -0.2211,
"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": 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.2838,
"after": 1.0,
"delta": -0.2838,
"percent_delta": -0.2211,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"predicted_R": 1.0,
"predicted_RBI": 2.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.2436,
"after": 0.222,
"delta": -0.0216,
"percent_delta": -0.0887,
"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.3874,
"after": 0.364,
"delta": -0.0234,
"percent_delta": -0.0604,
"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_SLG",
"before": 0.4073,
"after": 0.222,
"delta": -0.1853,
"percent_delta": -0.4549,
"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.4073,
"after": 0.222,
"delta": -0.1853,
"percent_delta": -0.4549,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 5.0,
"delta": -4.0,
"percent_delta": -0.4444,
"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": 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": 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": 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": 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.2436,
"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.3874,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4073,
"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.222,
"after": 0.2436,
"delta": 0.0216,
"percent_delta": 0.0973,
"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.364,
"after": 0.3874,
"delta": 0.0234,
"percent_delta": 0.0643,
"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.4073,
"delta": 0.1853,
"percent_delta": 0.8348,
"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.222,
"after": 0.4073,
"delta": 0.1853,
"percent_delta": 0.8348,
"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.211,
"after": 0.0,
"delta": -0.211,
"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.97,
"after": 5.0,
"delta": 1.03,
"percent_delta": 0.2594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2436,
"delta": 0.0086,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.773,
"after": 0.0,
"delta": -0.773,
"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.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.363,
"after": 0.3874,
"delta": 0.0244,
"percent_delta": 0.0672,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.479,
"after": 0.0,
"delta": -0.479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4073,
"delta": -0.0267,
"percent_delta": -0.0615,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.983,
"after": 2.0,
"delta": 1.017,
"percent_delta": 1.0346,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 5.0,
"delta": 1.03,
"percent_delta": 0.2594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.773,
"after": 0.0,
"delta": -0.773,
"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.211 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.773 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.363 | - |
| predicted_R | 0.479 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 0.983 | - |
Final model 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.266 |
| predicted_3B | 0.047 | 0.026 |
| predicted_AB | 9.369 | 5.399 |
| predicted_AVG | 0.241 | 0.006 |
| predicted_BB | 2.196 | 1.423 |
| predicted_H | 2.293 | 1.363 |
| predicted_HBP | 0.849 | - |
| predicted_HR | 0.318 | 0.128 |
| predicted_OBP | 0.382 | 0.019 |
| predicted_R | 1.297 | 0.818 |
| predicted_RBI | 1.625 | 1.015 |
| predicted_SLG | 0.418 | -0.016 |
| predicted_SO | 2.482 | 1.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.477 | 0.000 |
| predicted_3B | 0.047 | 0.000 |
| predicted_AB | 9.369 | 0.000 |
| predicted_AVG | 0.244 | 0.003 |
| predicted_BB | 2.199 | 0.003 |
| predicted_H | 2.282 | -0.010 |
| predicted_HBP | 0.849 | 0.000 |
| predicted_HR | 0.321 | 0.003 |
| predicted_OBP | 0.387 | 0.005 |
| predicted_R | 1.284 | -0.013 |
| predicted_RBI | 1.608 | -0.016 |
| predicted_SLG | 0.407 | -0.010 |
| predicted_SO | 2.478 | -0.003 |
AB rounded to 9 (raw=9.37), rates preserved: AVG=0.244 HR/AB=0.034
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=14.0, weight=0.127, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.000 | 0.000 |
| BB | 2.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 2.000 | 0.000 |
| SO | 3.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 | 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 | 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.477 |
| predicted_3B | 0.000 | -0.047 |
| predicted_AB | 9.000 | -0.369 |
| predicted_AVG | 0.222 | -0.022 |
| predicted_BB | 2.000 | -0.199 |
| predicted_H | 2.000 | -0.282 |
| predicted_HR | 0.000 | -0.321 |
| predicted_OBP | 0.364 | -0.023 |
| predicted_R | 1.000 | -0.284 |
| predicted_RBI | 2.000 | 0.392 |
| predicted_SLG | 0.222 | -0.185 |
| predicted_SO | 3.000 | 0.522 |
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 | -4.000 |
| BB | 0.000 | -2.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 | 0.000 | -1.000 |
| RBI | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 1 | - | 15.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 5.000 | 10.000 | 5.000 | 0.3333 | 0.6667 | 0.3333 | 0.3333 | 0.0000 | 0.3333 | 0.6667 | 0.3333 |
| last_10 | 0.20 | 2 | - | 34.000 | 10.000 | 0.000 | 0.000 | 0.000 | 6.000 | 6.000 | 16.000 | 10.000 | 0.2941 | 0.5714 | 0.2941 | 0.2941 | 0.0000 | 0.1765 | 0.4706 | 0.2941 |
| season | 0.60 | 54 | - | 895.000 | 214.000 | 51.000 | 5.000 | 30.000 | 153.000 | 116.000 | 187.000 | 238.000 | 0.2391 | 0.3812 | 0.4078 | 0.2391 | 0.0335 | 0.1709 | 0.2089 | 0.2659 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8130 |
| predicted_3B | 0.0790 |
| predicted_AB | 16.1750 |
| predicted_AVG | 0.2479 |
| predicted_BB | 3.9910 |
| predicted_H | 4.0110 |
| predicted_HBP | 0.8490 |
| predicted_HR | 0.4800 |
| predicted_OBP | 0.4067 |
| predicted_R | 2.3280 |
| predicted_RBI | 2.9040 |
| predicted_SLG | 0.3970 |
| predicted_SO | 4.3710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2110 | 0.8130 | 0.4773 | model_form_blend |
| predicted_3B | 0.0210 | 0.0790 | 0.0467 | model_form_blend |
| predicted_AB | 3.9700 | 16.1750 | 9.3687 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2479 | 0.2407 | model_form_blend |
| predicted_BB | 0.7730 | 3.9910 | 2.1964 | model_form_blend |
| predicted_H | 0.9300 | 4.0110 | 2.2928 | model_form_blend |
| predicted_HBP | - | 0.8490 | 0.8490 | form_only |
| predicted_HR | 0.1900 | 0.4800 | 0.3183 | model_form_blend |
| predicted_OBP | 0.3630 | 0.4067 | 0.3823 | model_form_blend |
| predicted_R | 0.4790 | 2.3280 | 1.2969 | model_form_blend |
| predicted_RBI | 0.6100 | 2.9040 | 1.6247 | model_form_blend |
| predicted_SLG | 0.4340 | 0.3970 | 0.4176 | model_form_blend |
| predicted_SO | 0.9830 | 4.3710 | 2.4816 | 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 | 242 |
| Season rows before report date | 242 |
| Report year | 2026 |
| Profile rows used | 242 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| 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 | 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 | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 683737 |
| playerID | 683737 |
| playerName | Michael Busch |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 21.9 |
| sl_bb_percent | 15.2 |
| sl_woba | 0.339 |
| sl_xwoba | 0.353 |
| sl_xba | 0.241 |
| sl_xslg | 0.432 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 43.4 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 41.6 |
| at_bat_number | 80.0 |
| ab_pitcher | 642701.0 |
| ab_pitcher_name | Santana, Dennis |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | walk |
| ab_event_description | Michael Busch walks. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 92.375 |
| ab_release_spin_rate_avg | 2500.0 |
| ab_effective_speed_avg | 92.0 |
| ab_delta_run_exp_avg | 0.10275 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.10275 |
| ab_release_speed_max | 95.3 |
| ab_release_spin_rate_max | 2645.0 |
| ab_release_speed_min | 85.3 |
| ab_release_spin_rate_min | 2424.0 |
| ab_delta_run_exp_sum | 0.411 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -0.411 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.141 | 0.000 | 1.000 | Hitting_2B | 0.141 | 1.000 | -0.141 | -1.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.340 | 4.000 | 11.000 | Hitting_AB | 4.116 | 6.000 | -0.116 | -2.000 |
| predicted_AVG | 0.248 | 0.000 | 0.273 | Hitting_AVG | 0.263 | 0.333 | -0.263 | -0.333 |
| predicted_BB | 0.522 | 0.000 | 1.000 | Hitting_BB | 0.522 | 0.000 | -0.522 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 0.000 | -0.016 | 0.000 |
| predicted_H | 1.070 | 0.000 | 3.000 | Hitting_H | 1.084 | 2.000 | -1.084 | -2.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.068 | 0.000 | -0.068 | 0.000 |
| predicted_OBP | 0.340 | 0.000 | 0.333 | Hitting_OBP | 0.353 | 0.333 | -0.353 | -0.333 |
| predicted_R | 0.470 | 0.000 | 1.000 | Hitting_R | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_RBI | 0.330 | 0.000 | 1.000 | Hitting_RBI | 0.305 | 0.000 | -0.305 | 0.000 |
| predicted_SLG | 0.387 | 0.000 | 0.364 | Hitting_SLG | 0.357 | 0.500 | -0.357 | -0.500 |
| predicted_SO | 0.791 | 1.000 | 2.000 | Hitting_SO | 0.791 | 1.000 | 0.209 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.7910 -> 1.0000 (boost 0.2090, worse) |
| Biggest Deboost | predicted_H: 1.0700 -> 0.0000 (deboost -1.0700, 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.3400 -> 11.1136 (boost 6.7736, 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.2595 -> 0.2668 (boost 0.0073, better) | predicted_SLG: 0.3835 -> 0.3721 (deboost -0.0114, 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_2B: 0.5235 -> 1.0000 (boost 0.4765, better) | predicted_BB: 1.2581 -> 1.0000 (deboost -0.2581, worse) | AB rounded to 11 (raw=11.11), rates preserved: AVG=0.267 HR/AB=0.016 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3088 -> 1.0000 (deboost -0.3088, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2668 -> 0.2730 (boost 0.0062, better) | predicted_OBP: 0.3414 -> 0.3330 (deboost -0.0084, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 11.0000 -> 4.0000 (deboost -7.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3330 -> 0.3414 (boost 0.0084, better) | predicted_AVG: 0.2730 -> 0.2668 (deboost -0.0062, worse) | 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.141,
"predicted_3B": 0.02,
"predicted_AB": 4.34,
"predicted_AVG": 0.248,
"predicted_BB": 0.522,
"predicted_H": 1.07,
"predicted_HR": 0.09,
"predicted_OBP": 0.34,
"predicted_R": 0.47,
"predicted_RBI": 0.33,
"predicted_SLG": 0.387,
"predicted_SO": 0.791
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.5235,
"predicted_3B": 0.0483,
"predicted_AB": 11.1136,
"predicted_AVG": 0.2595,
"predicted_BB": 1.2565,
"predicted_H": 2.979,
"predicted_HBP": 0.252,
"predicted_HR": 0.1816,
"predicted_OBP": 0.3457,
"predicted_R": 1.3222,
"predicted_RBI": 0.767,
"predicted_SLG": 0.3835,
"predicted_SO": 2.1054
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.141,
"after": 0.5235,
"delta": 0.3825,
"percent_delta": 2.7128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0483,
"delta": 0.0283,
"percent_delta": 1.415,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 11.1136,
"delta": 6.7736,
"percent_delta": 1.5607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2595,
"delta": 0.0115,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.522,
"after": 1.2565,
"delta": 0.7345,
"percent_delta": 1.4071,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.979,
"delta": 1.909,
"percent_delta": 1.7841,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1816,
"delta": 0.0916,
"percent_delta": 1.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3457,
"delta": 0.0057,
"percent_delta": 0.0168,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.47,
"after": 1.3222,
"delta": 0.8522,
"percent_delta": 1.8132,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.767,
"delta": 0.437,
"percent_delta": 1.3242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3835,
"delta": -0.0035,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.791,
"after": 2.1054,
"delta": 1.3144,
"percent_delta": 1.6617,
"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.34,
"after": 11.1136,
"delta": 6.7736,
"percent_delta": 1.5607,
"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": 1,
"last_10": 2,
"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.5235,
"predicted_3B": 0.0483,
"predicted_AB": 11.1136,
"predicted_AVG": 0.2668,
"predicted_BB": 1.2581,
"predicted_H": 2.9653,
"predicted_HBP": 0.252,
"predicted_HR": 0.1832,
"predicted_OBP": 0.3414,
"predicted_R": 1.3088,
"predicted_RBI": 0.7593,
"predicted_SLG": 0.3721,
"predicted_SO": 2.1027
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5235,
"after": 0.5235,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0483,
"after": 0.0483,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 11.1136,
"after": 11.1136,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2595,
"after": 0.2668,
"delta": 0.0073,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2565,
"after": 1.2581,
"delta": 0.0016,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.979,
"after": 2.9653,
"delta": -0.0137,
"percent_delta": -0.0046,
"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.1816,
"after": 0.1832,
"delta": 0.0016,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3457,
"after": 0.3414,
"delta": -0.0043,
"percent_delta": -0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3222,
"after": 1.3088,
"delta": -0.0134,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.767,
"after": 0.7593,
"delta": -0.0077,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3835,
"after": 0.3721,
"delta": -0.0114,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1054,
"after": 2.1027,
"delta": -0.0027,
"percent_delta": -0.0013,
"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.2595,
"after": 0.2668,
"delta": 0.0073,
"percent_delta": 0.0281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3835,
"after": 0.3721,
"delta": -0.0114,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 11 (raw=11.11), rates preserved: AVG=0.267 HR/AB=0.016",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.5235,
"after": 1.0,
"delta": 0.4765,
"percent_delta": 0.9102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0483,
"after": 0.0,
"delta": -0.0483,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 11.1136,
"after": 11.0,
"delta": -0.1136,
"percent_delta": -0.0102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2581,
"after": 1.0,
"delta": -0.2581,
"percent_delta": -0.2052,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.9653,
"after": 3.0,
"delta": 0.0347,
"percent_delta": 0.0117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1832,
"after": 0.0,
"delta": -0.1832,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7593,
"after": 1.0,
"delta": 0.2407,
"percent_delta": 0.317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1027,
"after": 2.0,
"delta": -0.1027,
"percent_delta": -0.0488,
"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.5235,
"after": 1.0,
"delta": 0.4765,
"percent_delta": 0.9102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.2581,
"after": 1.0,
"delta": -0.2581,
"percent_delta": -0.2052,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 3.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": 11.0,
"after": 11.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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 11.0,
"after": 11.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3088,
"after": 1.0,
"delta": -0.3088,
"percent_delta": -0.2359,
"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.3088,
"after": 1.0,
"delta": -0.3088,
"percent_delta": -0.2359,
"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": 11.0,
"predicted_AVG": 0.273,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.364,
"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": 11.0,
"after": 11.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2668,
"after": 0.273,
"delta": 0.0062,
"percent_delta": 0.0232,
"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": 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.3721,
"after": 0.364,
"delta": -0.0081,
"percent_delta": -0.0218,
"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.2668,
"after": 0.273,
"delta": 0.0062,
"percent_delta": 0.0232,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3414,
"after": 0.333,
"delta": -0.0084,
"percent_delta": -0.0246,
"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": 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": 11.0,
"after": 4.0,
"delta": -7.0,
"percent_delta": -0.6364,
"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": 3.0,
"after": 0.0,
"delta": -3.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": 7,
"boosted_metrics": 0,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AB",
"before": 11.0,
"after": 4.0,
"delta": -7.0,
"percent_delta": -0.6364,
"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.2668,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 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.3721,
"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.273,
"after": 0.2668,
"delta": -0.0062,
"percent_delta": -0.0226,
"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.3414,
"delta": 0.0084,
"percent_delta": 0.0252,
"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.364,
"after": 0.3721,
"delta": 0.0081,
"percent_delta": 0.0221,
"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_OBP",
"before": 0.333,
"after": 0.3414,
"delta": 0.0084,
"percent_delta": 0.0252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2668,
"delta": -0.0062,
"percent_delta": -0.0226,
"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.141,
"after": 0.0,
"delta": -0.141,
"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.34,
"after": 4.0,
"delta": -0.34,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.248,
"after": 0.2668,
"delta": 0.0188,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.522,
"after": 0.0,
"delta": -0.522,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"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.34,
"after": 0.3414,
"delta": 0.0014,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3721,
"delta": -0.0149,
"percent_delta": -0.0385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.791,
"after": 1.0,
"delta": 0.209,
"percent_delta": 0.2642,
"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.791,
"after": 1.0,
"delta": 0.209,
"percent_delta": 0.2642,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"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.141 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.248 | - |
| predicted_BB | 0.522 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.470 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 0.791 | - |
Final model 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.523 | 0.382 |
| predicted_3B | 0.048 | 0.028 |
| predicted_AB | 11.114 | 6.774 |
| predicted_AVG | 0.260 | 0.012 |
| predicted_BB | 1.256 | 0.734 |
| predicted_H | 2.979 | 1.909 |
| predicted_HBP | 0.252 | - |
| predicted_HR | 0.182 | 0.092 |
| predicted_OBP | 0.346 | 0.006 |
| predicted_R | 1.322 | 0.852 |
| predicted_RBI | 0.767 | 0.437 |
| predicted_SLG | 0.384 | -0.004 |
| predicted_SO | 2.105 | 1.314 |
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.523 | 0.000 |
| predicted_3B | 0.048 | 0.000 |
| predicted_AB | 11.114 | 0.000 |
| predicted_AVG | 0.267 | 0.007 |
| predicted_BB | 1.258 | 0.002 |
| predicted_H | 2.965 | -0.014 |
| predicted_HBP | 0.252 | 0.000 |
| predicted_HR | 0.183 | 0.002 |
| predicted_OBP | 0.341 | -0.004 |
| predicted_R | 1.309 | -0.013 |
| predicted_RBI | 0.759 | -0.008 |
| predicted_SLG | 0.372 | -0.011 |
| predicted_SO | 2.103 | -0.003 |
AB rounded to 11 (raw=11.11), rates preserved: AVG=0.267 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 11.000 | - |
| BB | 1.000 | - |
| H | 3.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.167)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 11.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.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 | 11.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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.477 |
| predicted_3B | 0.000 | -0.048 |
| predicted_AB | 11.000 | -0.114 |
| predicted_AVG | 0.273 | 0.006 |
| predicted_BB | 1.000 | -0.258 |
| predicted_H | 3.000 | 0.035 |
| predicted_HR | 0.000 | -0.183 |
| predicted_OBP | 0.333 | -0.008 |
| predicted_R | 1.000 | -0.309 |
| predicted_RBI | 1.000 | 0.241 |
| predicted_SLG | 0.364 | -0.008 |
| predicted_SO | 2.000 | -0.103 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | -1.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -7.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.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 | 1 | - | 30.000 | 10.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 5.000 | 0.3333 | 0.3333 | 0.5000 | 0.3333 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| last_10 | 0.20 | 2 | - | 52.000 | 20.000 | 10.000 | 0.000 | 0.000 | 0.000 | 10.000 | 0.000 | 10.000 | 0.3846 | 0.3846 | 0.5769 | 0.3846 | 0.0000 | 0.0000 | 0.0000 | 0.1923 |
| season | 0.60 | 54 | - | 1025.000 | 270.000 | 35.000 | 5.000 | 17.000 | 76.000 | 117.000 | 130.000 | 197.000 | 0.2634 | 0.3532 | 0.3571 | 0.2634 | 0.0166 | 0.0741 | 0.1268 | 0.1922 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0050 |
| predicted_3B | 0.0840 |
| predicted_AB | 19.6400 |
| predicted_AVG | 0.2740 |
| predicted_BB | 2.1810 |
| predicted_H | 5.3820 |
| predicted_HBP | 0.2520 |
| predicted_HR | 0.2970 |
| predicted_OBP | 0.3529 |
| predicted_R | 2.3950 |
| predicted_RBI | 1.3170 |
| predicted_SLG | 0.3792 |
| predicted_SO | 3.7600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1410 | 1.0050 | 0.5235 | model_form_blend |
| predicted_3B | 0.0200 | 0.0840 | 0.0483 | model_form_blend |
| predicted_AB | 4.3400 | 19.6400 | 11.1136 | model_form_blend |
| predicted_AVG | 0.2480 | 0.2740 | 0.2595 | model_form_blend |
| predicted_BB | 0.5220 | 2.1810 | 1.2565 | model_form_blend |
| predicted_H | 1.0700 | 5.3820 | 2.9790 | model_form_blend |
| predicted_HBP | - | 0.2520 | 0.2520 | form_only |
| predicted_HR | 0.0900 | 0.2970 | 0.1816 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3529 | 0.3457 | model_form_blend |
| predicted_R | 0.4700 | 2.3950 | 1.3222 | model_form_blend |
| predicted_RBI | 0.3300 | 1.3170 | 0.7670 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3792 | 0.3835 | model_form_blend |
| predicted_SO | 0.7910 | 3.7600 | 2.1054 | 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 | 4 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.263 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 6 |
| Hitting_AVG | 0.333 |
| 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 | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 3B |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 608324 |
| playerID | 608324 |
| playerName | Alex Bregman |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 17.1 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.316 |
| sl_xwoba | 0.328 |
| sl_xba | 0.262 |
| sl_xslg | 0.4 |
| sl_sweet_spot_percent | 32.6 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 43.4 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 18.0 |
| sl_swing_percent | 39.0 |
| at_bat_number | 81.0 |
| ab_pitcher | 642701.0 |
| ab_pitcher_name | Santana, Dennis |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 683737.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Alex Bregman flies out to right fielder Esmerlyn Valdez. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 87.3 |
| ab_launch_angle_last | 37.0 |
| ab_hit_distance_last | 291.0 |
| ab_estimated_ba_last | 0.017 |
| ab_estimated_woba_last | 0.021 |
| ab_estimated_slg_last | 0.033 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 93.13333333333333 |
| ab_release_spin_rate_avg | 2513.6666666666665 |
| ab_effective_speed_avg | 92.83333333333331 |
| ab_launch_speed_avg | 87.3 |
| ab_launch_angle_avg | 37.0 |
| ab_delta_run_exp_avg | -0.0836666666666666 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.0836666666666666 |
| ab_bat_speed_avg | 63.5 |
| ab_swing_length_avg | 5.800000000000001 |
| ab_launch_speed_max | 87.3 |
| ab_hit_distance_sc_max | 291.0 |
| ab_release_speed_max | 94.4 |
| ab_release_spin_rate_max | 2669.0 |
| ab_release_speed_min | 91.0 |
| ab_release_spin_rate_min | 2417.0 |
| ab_delta_run_exp_sum | -0.251 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.251 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.159 | 0.000 | 0.000 | Hitting_2B | 0.159 | 0.000 | -0.159 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.900 | 3.000 | 10.000 | Hitting_AB | 3.893 | 6.000 | -0.893 | -3.000 |
| predicted_AVG | 0.217 | 0.333 | 0.200 | Hitting_AVG | 0.229 | 0.333 | 0.104 | 0.000 |
| predicted_BB | 0.717 | 1.000 | 2.000 | Hitting_BB | 0.717 | 0.000 | 0.283 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.850 | 1.000 | 2.000 | Hitting_H | 0.893 | 2.000 | 0.107 | -1.000 |
| predicted_HR | 0.180 | 0.000 | 1.000 | Hitting_HR | 0.249 | 1.000 | -0.249 | -1.000 |
| predicted_OBP | 0.306 | 0.500 | 0.333 | Hitting_OBP | 0.355 | 0.333 | 0.145 | 0.167 |
| predicted_R | 0.760 | 1.000 | 2.000 | Hitting_R | 0.760 | 1.000 | 0.240 | 0.000 |
| predicted_RBI | 0.590 | 0.000 | 2.000 | Hitting_RBI | 0.592 | 5.000 | -0.592 | -5.000 |
| predicted_SLG | 0.408 | 0.333 | 0.500 | Hitting_SLG | 0.471 | 0.833 | -0.137 | -0.500 |
| predicted_SO | 1.348 | 2.000 | 3.000 | Hitting_SO | 1.348 | 0.000 | 0.652 | 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.3480 -> 2.0000 (boost 0.6520, worse) |
| Biggest Deboost | predicted_AB: 3.9000 -> 3.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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.9000 -> 10.3901 (boost 6.4901, 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.4508 -> 0.4846 (boost 0.0338, 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 | 3 | 5 | predicted_HR: 0.6974 -> 1.0000 (boost 0.3026, better) | predicted_H: 2.4370 -> 2.0000 (deboost -0.4370, worse) | AB rounded to 10 (raw=10.39), rates preserved: AVG=0.235 HR/AB=0.067 |
| 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 | 1 | 0 | 1 | 0 | predicted_R: 1.9415 -> 2.0000 (boost 0.0585, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4846 -> 0.5000 (boost 0.0154, better) | predicted_AVG: 0.2346 -> 0.2000 (deboost -0.0346, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | predicted_AB: 10.0000 -> 3.0000 (deboost -7.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2000 -> 0.2346 (boost 0.0346, better) | predicted_SLG: 0.5000 -> 0.4846 (deboost -0.0154, worse) | 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.159,
"predicted_3B": 0.017,
"predicted_AB": 3.9,
"predicted_AVG": 0.217,
"predicted_BB": 0.717,
"predicted_H": 0.85,
"predicted_HR": 0.18,
"predicted_OBP": 0.306,
"predicted_R": 0.76,
"predicted_RBI": 0.59,
"predicted_SLG": 0.408,
"predicted_SO": 1.348
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4234,
"predicted_3B": 0.0413,
"predicted_AB": 10.3901,
"predicted_AVG": 0.2273,
"predicted_BB": 1.7158,
"predicted_H": 2.4483,
"predicted_HBP": 0.181,
"predicted_HR": 0.6915,
"predicted_OBP": 0.3255,
"predicted_R": 1.9613,
"predicted_RBI": 2.1304,
"predicted_SLG": 0.4508,
"predicted_SO": 3.2788
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.159,
"after": 0.4234,
"delta": 0.2644,
"percent_delta": 1.6629,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0413,
"delta": 0.0243,
"percent_delta": 1.4294,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.9,
"after": 10.3901,
"delta": 6.4901,
"percent_delta": 1.6641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2273,
"delta": 0.0103,
"percent_delta": 0.0475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.717,
"after": 1.7158,
"delta": 0.9988,
"percent_delta": 1.393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 2.4483,
"delta": 1.5983,
"percent_delta": 1.8804,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.6915,
"delta": 0.5115,
"percent_delta": 2.8417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3255,
"delta": 0.0195,
"percent_delta": 0.0637,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.76,
"after": 1.9613,
"delta": 1.2013,
"percent_delta": 1.5807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 2.1304,
"delta": 1.5404,
"percent_delta": 2.6108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4508,
"delta": 0.0428,
"percent_delta": 0.1049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.348,
"after": 3.2788,
"delta": 1.9308,
"percent_delta": 1.4323,
"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.9,
"after": 10.3901,
"delta": 6.4901,
"percent_delta": 1.6641,
"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": 1,
"last_10": 2,
"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.4234,
"predicted_3B": 0.0413,
"predicted_AB": 10.3901,
"predicted_AVG": 0.2346,
"predicted_BB": 1.718,
"predicted_H": 2.437,
"predicted_HBP": 0.181,
"predicted_HR": 0.6974,
"predicted_OBP": 0.3432,
"predicted_R": 1.9415,
"predicted_RBI": 2.1089,
"predicted_SLG": 0.4846,
"predicted_SO": 3.2745
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4234,
"after": 0.4234,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0413,
"after": 0.0413,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.3901,
"after": 10.3901,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2273,
"after": 0.2346,
"delta": 0.0073,
"percent_delta": 0.0321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.7158,
"after": 1.718,
"delta": 0.0022,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4483,
"after": 2.437,
"delta": -0.0113,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.181,
"after": 0.181,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.6915,
"after": 0.6974,
"delta": 0.0059,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3255,
"after": 0.3432,
"delta": 0.0177,
"percent_delta": 0.0544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.9613,
"after": 1.9415,
"delta": -0.0198,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.1304,
"after": 2.1089,
"delta": -0.0215,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4508,
"after": 0.4846,
"delta": 0.0338,
"percent_delta": 0.075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.2788,
"after": 3.2745,
"delta": -0.0043,
"percent_delta": -0.0013,
"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.4508,
"after": 0.4846,
"delta": 0.0338,
"percent_delta": 0.075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=10.39), rates preserved: AVG=0.235 HR/AB=0.067",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 2.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.4234,
"after": 0.0,
"delta": -0.4234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0413,
"after": 0.0,
"delta": -0.0413,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.3901,
"after": 10.0,
"delta": -0.3901,
"percent_delta": -0.0375,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.718,
"after": 2.0,
"delta": 0.282,
"percent_delta": 0.1641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.437,
"after": 2.0,
"delta": -0.437,
"percent_delta": -0.1793,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.181,
"after": 0.0,
"delta": -0.181,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.6974,
"after": 1.0,
"delta": 0.3026,
"percent_delta": 0.4339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.1089,
"after": 2.0,
"delta": -0.1089,
"percent_delta": -0.0516,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.2745,
"after": 3.0,
"delta": -0.2745,
"percent_delta": -0.0838,
"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_HR",
"before": 0.6974,
"after": 1.0,
"delta": 0.3026,
"percent_delta": 0.4339,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.437,
"after": 2.0,
"delta": -0.437,
"percent_delta": -0.1793,
"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": 10.0,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.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": 10.0,
"after": 10.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": 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_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.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": 10.0,
"predicted_BB": 2.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": 10.0,
"after": 10.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.9415,
"after": 2.0,
"delta": 0.0585,
"percent_delta": 0.0301,
"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.9415,
"after": 2.0,
"delta": 0.0585,
"percent_delta": 0.0301,
"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": 10.0,
"predicted_AVG": 0.2,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.333,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.5,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2346,
"after": 0.2,
"delta": -0.0346,
"percent_delta": -0.1475,
"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.3432,
"after": 0.333,
"delta": -0.0102,
"percent_delta": -0.0297,
"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.4846,
"after": 0.5,
"delta": 0.0154,
"percent_delta": 0.0318,
"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.4846,
"after": 0.5,
"delta": 0.0154,
"percent_delta": 0.0318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2346,
"after": 0.2,
"delta": -0.0346,
"percent_delta": -0.1475,
"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": 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": 10.0,
"after": 3.0,
"delta": -7.0,
"percent_delta": -0.7,
"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": 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": 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": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 10.0,
"after": 3.0,
"delta": -7.0,
"percent_delta": -0.7,
"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.2346,
"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.3432,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4846,
"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.2,
"after": 0.2346,
"delta": 0.0346,
"percent_delta": 0.1728,
"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.3432,
"delta": 0.0102,
"percent_delta": 0.0305,
"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.5,
"after": 0.4846,
"delta": -0.0154,
"percent_delta": -0.0307,
"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.2,
"after": 0.2346,
"delta": 0.0346,
"percent_delta": 0.1728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4846,
"delta": -0.0154,
"percent_delta": -0.0307,
"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.159,
"after": 0.0,
"delta": -0.159,
"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.9,
"after": 3.0,
"delta": -0.9,
"percent_delta": -0.2308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2346,
"delta": 0.0176,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.717,
"after": 1.0,
"delta": 0.283,
"percent_delta": 0.3947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 1.0,
"delta": 0.15,
"percent_delta": 0.1765,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.306,
"after": 0.3432,
"delta": 0.0372,
"percent_delta": 0.1216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.76,
"after": 1.0,
"delta": 0.24,
"percent_delta": 0.3158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4846,
"delta": 0.0766,
"percent_delta": 0.1877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.348,
"after": 2.0,
"delta": 0.652,
"percent_delta": 0.4837,
"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.348,
"after": 2.0,
"delta": 0.652,
"percent_delta": 0.4837,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.9,
"after": 3.0,
"delta": -0.9,
"percent_delta": -0.2308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.159 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.900 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.717 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.306 | - |
| predicted_R | 0.760 | - |
| predicted_RBI | 0.590 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 1.348 | - |
Final model 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.264 |
| predicted_3B | 0.041 | 0.024 |
| predicted_AB | 10.390 | 6.490 |
| predicted_AVG | 0.227 | 0.010 |
| predicted_BB | 1.716 | 0.999 |
| predicted_H | 2.448 | 1.598 |
| predicted_HBP | 0.181 | - |
| predicted_HR | 0.692 | 0.512 |
| predicted_OBP | 0.326 | 0.020 |
| predicted_R | 1.961 | 1.201 |
| predicted_RBI | 2.130 | 1.540 |
| predicted_SLG | 0.451 | 0.043 |
| predicted_SO | 3.279 | 1.931 |
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.041 | 0.000 |
| predicted_AB | 10.390 | 0.000 |
| predicted_AVG | 0.235 | 0.007 |
| predicted_BB | 1.718 | 0.002 |
| predicted_H | 2.437 | -0.011 |
| predicted_HBP | 0.181 | 0.000 |
| predicted_HR | 0.697 | 0.006 |
| predicted_OBP | 0.343 | 0.018 |
| predicted_R | 1.942 | -0.020 |
| predicted_RBI | 2.109 | -0.021 |
| predicted_SLG | 0.485 | 0.034 |
| predicted_SO | 3.275 | -0.004 |
AB rounded to 10 (raw=10.39), rates preserved: AVG=0.235 HR/AB=0.067
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.000 | - |
| BB | 2.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 3.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 | 10.000 | 0.000 |
| BB | 2.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.000 | 0.000 |
| RBI | 2.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 | 10.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 | 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.423 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 10.000 | -0.390 |
| predicted_AVG | 0.200 | -0.035 |
| predicted_BB | 2.000 | 0.282 |
| predicted_H | 2.000 | -0.437 |
| predicted_HR | 1.000 | 0.303 |
| predicted_OBP | 0.333 | -0.010 |
| predicted_R | 2.000 | 0.058 |
| predicted_RBI | 2.000 | -0.109 |
| predicted_SLG | 0.500 | 0.015 |
| predicted_SO | 3.000 | -0.275 |
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 | -7.000 |
| BB | 1.000 | -1.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 | 0.000 | -2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 2.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 1 | - | 30.000 | 10.000 | 0.000 | 0.000 | 5.000 | 25.000 | 5.000 | 0.000 | 0.000 | 0.3333 | 0.3333 | 0.8333 | 0.3333 | 0.1667 | 0.8333 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 2 | - | 52.000 | 16.000 | 4.000 | 0.000 | 6.000 | 34.000 | 6.000 | 0.000 | 4.000 | 0.3077 | 0.3077 | 0.7308 | 0.3077 | 0.1154 | 0.6539 | 0.0000 | 0.0769 |
| season | 0.60 | 51 | - | 907.000 | 208.000 | 37.000 | 4.000 | 58.000 | 138.000 | 177.000 | 167.000 | 314.000 | 0.2293 | 0.3552 | 0.4708 | 0.2293 | 0.0640 | 0.1522 | 0.1841 | 0.3462 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7570 |
| predicted_3B | 0.0720 |
| predicted_AB | 18.5790 |
| predicted_AVG | 0.2403 |
| predicted_BB | 2.9760 |
| predicted_H | 4.4650 |
| predicted_HBP | 0.1810 |
| predicted_HR | 1.3370 |
| predicted_OBP | 0.3501 |
| predicted_R | 3.4770 |
| predicted_RBI | 4.0740 |
| predicted_SLG | 0.5047 |
| predicted_SO | 5.7150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1590 | 0.7570 | 0.4234 | model_form_blend |
| predicted_3B | 0.0170 | 0.0720 | 0.0413 | model_form_blend |
| predicted_AB | 3.9000 | 18.5790 | 10.3901 | model_form_blend |
| predicted_AVG | 0.2170 | 0.2403 | 0.2273 | model_form_blend |
| predicted_BB | 0.7170 | 2.9760 | 1.7158 | model_form_blend |
| predicted_H | 0.8500 | 4.4650 | 2.4483 | model_form_blend |
| predicted_HBP | - | 0.1810 | 0.1810 | form_only |
| predicted_HR | 0.1800 | 1.3370 | 0.6915 | model_form_blend |
| predicted_OBP | 0.3060 | 0.3501 | 0.3255 | model_form_blend |
| predicted_R | 0.7600 | 3.4770 | 1.9613 | model_form_blend |
| predicted_RBI | 0.5900 | 4.0740 | 2.1304 | model_form_blend |
| predicted_SLG | 0.4080 | 0.5047 | 0.4508 | model_form_blend |
| predicted_SO | 1.3480 | 5.7150 | 3.2788 | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| 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 | 6 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 5 |
| 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 | LF |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 664023 |
| playerID | 664023 |
| playerName | Ian Happ |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 32.9 |
| sl_bb_percent | 16.2 |
| sl_woba | 0.342 |
| sl_xwoba | 0.342 |
| sl_xba | 0.201 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 34.2 |
| sl_barrel_batted_rate | 16.7 |
| sl_hard_hit_percent | 43.0 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 34.8 |
| sl_swing_percent | 42.4 |
| at_bat_number | 82.0 |
| ab_pitcher | 642701.0 |
| ab_pitcher_name | Santana, Dennis |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 683737.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Ian Happ flies out to left fielder Bryan Reynolds. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 88.6 |
| ab_launch_angle_last | 38.0 |
| ab_hit_distance_last | 317.0 |
| ab_estimated_ba_last | 0.014 |
| ab_estimated_woba_last | 0.022 |
| ab_estimated_slg_last | 0.04 |
| 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 | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 90.35 |
| ab_release_spin_rate_avg | 2516.0 |
| ab_effective_speed_avg | 89.9 |
| ab_launch_speed_avg | 88.6 |
| ab_launch_angle_avg | 38.0 |
| ab_delta_run_exp_avg | -0.134 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.134 |
| ab_bat_speed_avg | 75.9 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 88.6 |
| ab_hit_distance_sc_max | 317.0 |
| ab_release_speed_max | 95.3 |
| ab_release_spin_rate_max | 2621.0 |
| ab_release_speed_min | 85.4 |
| ab_release_spin_rate_min | 2411.0 |
| ab_delta_run_exp_sum | -0.268 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.268 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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.841 | 3.000 | 9.000 | Hitting_AB | 3.841 | 5.000 | -0.841 | -2.000 |
| predicted_AVG | 0.216 | 0.000 | 0.222 | Hitting_AVG | 0.250 | 0.200 | -0.250 | -0.200 |
| predicted_BB | 0.506 | 1.000 | 1.000 | Hitting_BB | 0.506 | 0.000 | 0.494 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.810 | 0.000 | 2.000 | Hitting_H | 0.960 | 1.000 | -0.960 | -1.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_OBP | 0.280 | 0.250 | 0.300 | Hitting_OBP | 0.347 | 0.200 | -0.097 | 0.050 |
| predicted_R | 0.636 | 0.000 | 1.000 | Hitting_R | 0.636 | 1.000 | -0.636 | -1.000 |
| predicted_RBI | 0.330 | 0.000 | 1.000 | Hitting_RBI | 0.443 | 0.000 | -0.443 | 0.000 |
| predicted_SLG | 0.336 | 0.000 | 0.222 | Hitting_SLG | 0.422 | 0.200 | -0.422 | -0.200 |
| predicted_SO | 1.108 | 1.000 | 3.000 | Hitting_SO | 1.108 | 2.000 | -0.108 | -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.5060 -> 1.0000 (boost 0.4940, better) |
| Biggest Deboost | predicted_AB: 3.8410 -> 3.0000 (deboost -0.8410, 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.8410 -> 9.0733 (boost 5.2323, 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.3545 -> 0.3658 (boost 0.0113, 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: 2.6383 -> 3.0000 (boost 0.3617, worse) | predicted_HBP: 0.4260 -> 0.0000 (deboost -0.4260, worse) | AB rounded to 9 (raw=9.07), rates preserved: AVG=0.228 HR/AB=0.037 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4656 -> 1.0000 (deboost -0.4656, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3658 -> 0.2220 (deboost -0.1438, 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: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2220 -> 0.3658 (boost 0.1438, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673548",
"player_name": "Seiya Suzuki",
"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.114,
"predicted_3B": 0.0,
"predicted_AB": 3.841,
"predicted_AVG": 0.216,
"predicted_BB": 0.506,
"predicted_H": 0.81,
"predicted_HR": 0.11,
"predicted_OBP": 0.28,
"predicted_R": 0.636,
"predicted_RBI": 0.33,
"predicted_SLG": 0.336,
"predicted_SO": 1.108
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2409,
"predicted_3B": 0.0009,
"predicted_AB": 9.0733,
"predicted_AVG": 0.2242,
"predicted_BB": 1.0348,
"predicted_H": 2.078,
"predicted_HBP": 0.426,
"predicted_HR": 0.3331,
"predicted_OBP": 0.299,
"predicted_R": 1.4806,
"predicted_RBI": 0.8592,
"predicted_SLG": 0.3545,
"predicted_SO": 2.6417
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.2409,
"delta": 0.1269,
"percent_delta": 1.1132,
"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.841,
"after": 9.0733,
"delta": 5.2323,
"percent_delta": 1.3622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.2242,
"delta": 0.0082,
"percent_delta": 0.038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.506,
"after": 1.0348,
"delta": 0.5288,
"percent_delta": 1.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.81,
"after": 2.078,
"delta": 1.268,
"percent_delta": 1.5654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.3331,
"delta": 0.2231,
"percent_delta": 2.0282,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.299,
"delta": 0.019,
"percent_delta": 0.0679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 1.4806,
"delta": 0.8446,
"percent_delta": 1.328,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.8592,
"delta": 0.5292,
"percent_delta": 1.6036,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3545,
"delta": 0.0185,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 2.6417,
"delta": 1.5337,
"percent_delta": 1.3842,
"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.841,
"after": 9.0733,
"delta": 5.2323,
"percent_delta": 1.3622,
"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": 1,
"last_10": 3,
"season": 42
}
},
{
"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.2409,
"predicted_3B": 0.0009,
"predicted_AB": 9.0733,
"predicted_AVG": 0.228,
"predicted_BB": 1.0361,
"predicted_H": 2.0684,
"predicted_HBP": 0.426,
"predicted_HR": 0.336,
"predicted_OBP": 0.3071,
"predicted_R": 1.4656,
"predicted_RBI": 0.8505,
"predicted_SLG": 0.3658,
"predicted_SO": 2.6383
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2409,
"after": 0.2409,
"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": 9.0733,
"after": 9.0733,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2242,
"after": 0.228,
"delta": 0.0038,
"percent_delta": 0.0169,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0348,
"after": 1.0361,
"delta": 0.0013,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.078,
"after": 2.0684,
"delta": -0.0096,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.426,
"after": 0.426,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3331,
"after": 0.336,
"delta": 0.0029,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.299,
"after": 0.3071,
"delta": 0.0081,
"percent_delta": 0.0271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4806,
"after": 1.4656,
"delta": -0.015,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8592,
"after": 0.8505,
"delta": -0.0087,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3545,
"after": 0.3658,
"delta": 0.0113,
"percent_delta": 0.0319,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6417,
"after": 2.6383,
"delta": -0.0034,
"percent_delta": -0.0013,
"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.3545,
"after": 0.3658,
"delta": 0.0113,
"percent_delta": 0.0319,
"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=9.07), rates preserved: AVG=0.228 HR/AB=0.037",
"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.2409,
"after": 0.0,
"delta": -0.2409,
"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": 9.0733,
"after": 9.0,
"delta": -0.0733,
"percent_delta": -0.0081,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0361,
"after": 1.0,
"delta": -0.0361,
"percent_delta": -0.0348,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0684,
"after": 2.0,
"delta": -0.0684,
"percent_delta": -0.0331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.336,
"after": 0.0,
"delta": -0.336,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8505,
"after": 1.0,
"delta": 0.1495,
"percent_delta": 0.1758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6383,
"after": 3.0,
"delta": 0.3617,
"percent_delta": 0.1371,
"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": 2.6383,
"after": 3.0,
"delta": 0.3617,
"percent_delta": 0.1371,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.426,
"after": 0.0,
"delta": -0.426,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=13.0, weight=0.121, BvP AVG=0.231)",
"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.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": 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.4656,
"after": 1.0,
"delta": -0.4656,
"percent_delta": -0.3177,
"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.4656,
"after": 1.0,
"delta": -0.4656,
"percent_delta": -0.3177,
"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.228,
"after": 0.222,
"delta": -0.006,
"percent_delta": -0.0263,
"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.3071,
"after": 0.3,
"delta": -0.0071,
"percent_delta": -0.0231,
"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.3658,
"after": 0.222,
"delta": -0.1438,
"percent_delta": -0.3931,
"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.3658,
"after": 0.222,
"delta": -0.1438,
"percent_delta": -0.3931,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 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.228,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3071,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3658,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.228,
"delta": 0.006,
"percent_delta": 0.0269,
"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.3071,
"delta": 0.0071,
"percent_delta": 0.0237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.3658,
"delta": 0.1438,
"percent_delta": 0.6478,
"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.3658,
"delta": 0.1438,
"percent_delta": 0.6478,
"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": 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.841,
"after": 3.0,
"delta": -0.841,
"percent_delta": -0.219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.216,
"after": 0.228,
"delta": 0.012,
"percent_delta": 0.0556,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.506,
"after": 1.0,
"delta": 0.494,
"percent_delta": 0.9763,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.3071,
"delta": 0.0271,
"percent_delta": 0.0968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.33,
"after": 0.0,
"delta": -0.33,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.336,
"after": 0.3658,
"delta": 0.0298,
"percent_delta": 0.0887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.108,
"after": 1.0,
"delta": -0.108,
"percent_delta": -0.0975,
"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.506,
"after": 1.0,
"delta": 0.494,
"percent_delta": 0.9763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.841,
"after": 3.0,
"delta": -0.841,
"percent_delta": -0.219,
"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.841 | - |
| predicted_AVG | 0.216 | - |
| predicted_BB | 0.506 | - |
| predicted_H | 0.810 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.636 | - |
| predicted_RBI | 0.330 | - |
| predicted_SLG | 0.336 | - |
| predicted_SO | 1.108 | - |
Final model 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.241 | 0.127 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.073 | 5.232 |
| predicted_AVG | 0.224 | 0.008 |
| predicted_BB | 1.035 | 0.529 |
| predicted_H | 2.078 | 1.268 |
| predicted_HBP | 0.426 | - |
| predicted_HR | 0.333 | 0.223 |
| predicted_OBP | 0.299 | 0.019 |
| predicted_R | 1.481 | 0.845 |
| predicted_RBI | 0.859 | 0.529 |
| predicted_SLG | 0.354 | 0.018 |
| predicted_SO | 2.642 | 1.534 |
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.241 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.073 | 0.000 |
| predicted_AVG | 0.228 | 0.004 |
| predicted_BB | 1.036 | 0.001 |
| predicted_H | 2.068 | -0.010 |
| predicted_HBP | 0.426 | 0.000 |
| predicted_HR | 0.336 | 0.003 |
| predicted_OBP | 0.307 | 0.008 |
| predicted_R | 1.466 | -0.015 |
| predicted_RBI | 0.851 | -0.009 |
| predicted_SLG | 0.366 | 0.011 |
| predicted_SO | 2.638 | -0.003 |
AB rounded to 9 (raw=9.07), rates preserved: AVG=0.228 HR/AB=0.037
| 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=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 | 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.241 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.073 |
| predicted_AVG | 0.222 | -0.006 |
| predicted_BB | 1.000 | -0.036 |
| predicted_H | 2.000 | -0.068 |
| predicted_HR | 0.000 | -0.336 |
| predicted_OBP | 0.300 | -0.007 |
| predicted_R | 1.000 | -0.466 |
| predicted_RBI | 1.000 | 0.149 |
| predicted_SLG | 0.222 | -0.144 |
| predicted_SO | 3.000 | 0.362 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | -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 | 1 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 10.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 3 | - | 38.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 11.000 | 0.1316 | 0.2143 | 0.1316 | 0.1316 | 0.0000 | 0.0000 | 0.0000 | 0.2895 |
| season | 0.60 | 42 | - | 676.000 | 169.000 | 20.000 | 0.000 | 32.000 | 78.000 | 112.000 | 89.000 | 195.000 | 0.2500 | 0.3465 | 0.4216 | 0.2500 | 0.0473 | 0.1154 | 0.1317 | 0.2885 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4030 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.7540 |
| predicted_AVG | 0.2347 |
| predicted_BB | 1.7100 |
| predicted_H | 3.6970 |
| predicted_HBP | 0.4260 |
| predicted_HR | 0.6180 |
| predicted_OBP | 0.3233 |
| predicted_R | 2.5590 |
| predicted_RBI | 1.5350 |
| predicted_SLG | 0.3782 |
| predicted_SO | 4.6000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.4030 | 0.2409 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8410 | 15.7540 | 9.0733 | model_form_blend |
| predicted_AVG | 0.2160 | 0.2347 | 0.2242 | model_form_blend |
| predicted_BB | 0.5060 | 1.7100 | 1.0348 | model_form_blend |
| predicted_H | 0.8100 | 3.6970 | 2.0780 | model_form_blend |
| predicted_HBP | - | 0.4260 | 0.4260 | form_only |
| predicted_HR | 0.1100 | 0.6180 | 0.3331 | model_form_blend |
| predicted_OBP | 0.2800 | 0.3233 | 0.2990 | model_form_blend |
| predicted_R | 0.6360 | 2.5590 | 1.4806 | model_form_blend |
| predicted_RBI | 0.3300 | 1.5350 | 0.8592 | model_form_blend |
| predicted_SLG | 0.3360 | 0.3782 | 0.3545 | model_form_blend |
| predicted_SO | 1.1080 | 4.6000 | 2.6417 | 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 | 176 |
| Season rows before report date | 176 |
| Report year | 2026 |
| Profile rows used | 176 |
| 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.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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| 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 | 2 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 6 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | RF |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 673548 |
| playerID | 673548 |
| playerName | Seiya Suzuki |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 25.4 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.326 |
| sl_xwoba | 0.314 |
| sl_xba | 0.229 |
| sl_xslg | 0.39 |
| sl_sweet_spot_percent | 34.9 |
| sl_barrel_batted_rate | 6.6 |
| sl_hard_hit_percent | 41.5 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 26.4 |
| sl_swing_percent | 41.1 |
| at_bat_number | 70.0 |
| ab_pitcher | 664875.0 |
| ab_pitcher_name | Lawrence, Justin |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | strikeout |
| ab_event_description | Seiya Suzuki strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 78.4 |
| ab_launch_angle_last | 8.0 |
| ab_hit_distance_last | 146.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 | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 89.76666666666667 |
| ab_release_spin_rate_avg | 2777.6666666666665 |
| ab_effective_speed_avg | 90.33333333333331 |
| ab_launch_speed_avg | 78.4 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | -0.0425 |
| ab_delta_home_win_exp_avg | 0.0001666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0425 |
| ab_bat_speed_avg | 59.7 |
| ab_swing_length_avg | 6.866666666666667 |
| ab_launch_speed_max | 78.4 |
| ab_hit_distance_sc_max | 146.0 |
| ab_release_speed_max | 96.5 |
| ab_release_spin_rate_max | 3169.0 |
| ab_release_speed_min | 82.6 |
| ab_release_spin_rate_min | 2417.0 |
| ab_delta_run_exp_sum | -0.255 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | 0.255 |
| 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.101 | 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.115 | 3.000 | 6.000 | Hitting_AB | 3.093 | 2.000 | -0.093 | 1.000 |
| predicted_AVG | 0.246 | 0.333 | 0.167 | Hitting_AVG | 0.210 | 0.000 | 0.123 | 0.333 |
| predicted_BB | 0.374 | 1.000 | 1.000 | Hitting_BB | 0.379 | 0.000 | 0.621 | 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.650 | 0.000 | 0.350 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.164 | 0.000 | -0.164 | 0.000 |
| predicted_OBP | 0.320 | 0.500 | 0.286 | Hitting_OBP | 0.290 | 0.000 | 0.210 | 0.500 |
| predicted_R | 0.403 | 1.000 | 1.000 | Hitting_R | 0.400 | 0.000 | 0.600 | 1.000 |
| predicted_RBI | 0.340 | 0.000 | 1.000 | Hitting_RBI | 0.521 | 0.000 | -0.521 | 0.000 |
| predicted_SLG | 0.358 | 0.333 | 0.167 | Hitting_SLG | 0.402 | 0.000 | -0.069 | 0.333 |
| predicted_SO | 0.669 | 0.000 | 1.000 | Hitting_SO | 0.664 | 1.000 | -0.664 | -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.3740 -> 1.0000 (boost 0.6260, better) |
| Biggest Deboost | predicted_SO: 0.6690 -> 0.0000 (deboost -0.6690, 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.1150 -> 5.6095 (boost 2.4945, better) | predicted_AVG: 0.2460 -> 0.2226 (deboost -0.0234, 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.2226 -> 0.1963 (deboost -0.0263, 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_AB: 5.6095 -> 6.0000 (boost 0.3905, better) | predicted_SO: 1.3674 -> 1.0000 (deboost -0.3674, better) | AB rounded to 6 (raw=5.61), rates preserved: AVG=0.196 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6335 -> 1.0000 (boost 0.3665, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2788 -> 0.2860 (boost 0.0072, better) | predicted_SLG: 0.3418 -> 0.1670 (deboost -0.1748, 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: 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.3418 (boost 0.1748, better) | predicted_OBP: 0.2860 -> 0.2788 (deboost -0.0072, 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": "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.101,
"predicted_3B": 0.0,
"predicted_AB": 3.115,
"predicted_AVG": 0.246,
"predicted_BB": 0.374,
"predicted_H": 0.65,
"predicted_HR": 0.1,
"predicted_OBP": 0.32,
"predicted_R": 0.403,
"predicted_RBI": 0.34,
"predicted_SLG": 0.358,
"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.1604,
"predicted_3B": 0.0009,
"predicted_AB": 5.6095,
"predicted_AVG": 0.2226,
"predicted_BB": 0.6409,
"predicted_H": 1.1063,
"predicted_HBP": 0.005,
"predicted_HR": 0.2161,
"predicted_OBP": 0.2966,
"predicted_R": 0.64,
"predicted_RBI": 0.6975,
"predicted_SLG": 0.3518,
"predicted_SO": 1.3692
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.1604,
"delta": 0.0594,
"percent_delta": 0.5881,
"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.115,
"after": 5.6095,
"delta": 2.4945,
"percent_delta": 0.8008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2226,
"delta": -0.0234,
"percent_delta": -0.0951,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.374,
"after": 0.6409,
"delta": 0.2669,
"percent_delta": 0.7136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.1063,
"delta": 0.4563,
"percent_delta": 0.702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2161,
"delta": 0.1161,
"percent_delta": 1.161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.2966,
"delta": -0.0234,
"percent_delta": -0.0731,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.403,
"after": 0.64,
"delta": 0.237,
"percent_delta": 0.5881,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.6975,
"delta": 0.3575,
"percent_delta": 1.0515,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3518,
"delta": -0.0062,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.669,
"after": 1.3692,
"delta": 0.7002,
"percent_delta": 1.0466,
"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.115,
"after": 5.6095,
"delta": 2.4945,
"percent_delta": 0.8008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2226,
"delta": -0.0234,
"percent_delta": -0.0951,
"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": 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.1604,
"predicted_3B": 0.0009,
"predicted_AB": 5.6095,
"predicted_AVG": 0.1963,
"predicted_BB": 0.6417,
"predicted_H": 1.1012,
"predicted_HBP": 0.005,
"predicted_HR": 0.218,
"predicted_OBP": 0.2788,
"predicted_R": 0.6335,
"predicted_RBI": 0.6905,
"predicted_SLG": 0.3418,
"predicted_SO": 1.3674
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1604,
"after": 0.1604,
"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.6095,
"after": 5.6095,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2226,
"after": 0.1963,
"delta": -0.0263,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6409,
"after": 0.6417,
"delta": 0.0008,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1063,
"after": 1.1012,
"delta": -0.0051,
"percent_delta": -0.0046,
"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.2161,
"after": 0.218,
"delta": 0.0019,
"percent_delta": 0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2966,
"after": 0.2788,
"delta": -0.0178,
"percent_delta": -0.06,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.64,
"after": 0.6335,
"delta": -0.0065,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6975,
"after": 0.6905,
"delta": -0.007,
"percent_delta": -0.01,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3518,
"after": 0.3418,
"delta": -0.01,
"percent_delta": -0.0284,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3692,
"after": 1.3674,
"delta": -0.0018,
"percent_delta": -0.0013,
"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.2226,
"after": 0.1963,
"delta": -0.0263,
"percent_delta": -0.1181,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.61), rates preserved: AVG=0.196 HR/AB=0.039",
"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.1604,
"after": 0.0,
"delta": -0.1604,
"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.6095,
"after": 6.0,
"delta": 0.3905,
"percent_delta": 0.0696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6417,
"after": 1.0,
"delta": 0.3583,
"percent_delta": 0.5584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1012,
"after": 1.0,
"delta": -0.1012,
"percent_delta": -0.0919,
"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.218,
"after": 0.0,
"delta": -0.218,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6905,
"after": 1.0,
"delta": 0.3095,
"percent_delta": 0.4482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3674,
"after": 1.0,
"delta": -0.3674,
"percent_delta": -0.2687,
"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": 5.6095,
"after": 6.0,
"delta": 0.3905,
"percent_delta": 0.0696,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3674,
"after": 1.0,
"delta": -0.3674,
"percent_delta": -0.2687,
"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.6335,
"after": 1.0,
"delta": 0.3665,
"percent_delta": 0.5785,
"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.6335,
"after": 1.0,
"delta": 0.3665,
"percent_delta": 0.5785,
"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.1963,
"after": 0.167,
"delta": -0.0293,
"percent_delta": -0.1493,
"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.2788,
"after": 0.286,
"delta": 0.0072,
"percent_delta": 0.0258,
"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.3418,
"after": 0.167,
"delta": -0.1748,
"percent_delta": -0.5114,
"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.2788,
"after": 0.286,
"delta": 0.0072,
"percent_delta": 0.0258,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3418,
"after": 0.167,
"delta": -0.1748,
"percent_delta": -0.5114,
"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": 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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"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.1963,
"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.2788,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3418,
"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.1963,
"delta": 0.0293,
"percent_delta": 0.1755,
"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.2788,
"delta": -0.0072,
"percent_delta": -0.0251,
"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.3418,
"delta": 0.1748,
"percent_delta": 1.0467,
"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.3418,
"delta": 0.1748,
"percent_delta": 1.0467,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2788,
"delta": -0.0072,
"percent_delta": -0.0251,
"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.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": 3.115,
"after": 3.0,
"delta": -0.115,
"percent_delta": -0.0369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.1963,
"delta": -0.0497,
"percent_delta": -0.202,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.374,
"after": 1.0,
"delta": 0.626,
"percent_delta": 1.6738,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.2788,
"delta": -0.0412,
"percent_delta": -0.1288,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.403,
"after": 1.0,
"delta": 0.597,
"percent_delta": 1.4814,
"direction": "boost",
"projection_effect": "better",
"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.358,
"after": 0.3418,
"delta": -0.0162,
"percent_delta": -0.0453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.669,
"after": 0.0,
"delta": -0.669,
"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.374,
"after": 1.0,
"delta": 0.626,
"percent_delta": 1.6738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.669,
"after": 0.0,
"delta": -0.669,
"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.101 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.115 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.374 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.403 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.358 | - |
| 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.160 | 0.059 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.609 | 2.494 |
| predicted_AVG | 0.223 | -0.023 |
| predicted_BB | 0.641 | 0.267 |
| predicted_H | 1.106 | 0.456 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.216 | 0.116 |
| predicted_OBP | 0.297 | -0.023 |
| predicted_R | 0.640 | 0.237 |
| predicted_RBI | 0.698 | 0.357 |
| predicted_SLG | 0.352 | -0.006 |
| predicted_SO | 1.369 | 0.700 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.160 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.609 | 0.000 |
| predicted_AVG | 0.196 | -0.026 |
| predicted_BB | 0.642 | 0.001 |
| predicted_H | 1.101 | -0.005 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.218 | 0.002 |
| predicted_OBP | 0.279 | -0.018 |
| predicted_R | 0.633 | -0.007 |
| predicted_RBI | 0.691 | -0.007 |
| predicted_SLG | 0.342 | -0.010 |
| predicted_SO | 1.367 | -0.002 |
AB rounded to 6 (raw=5.61), rates preserved: AVG=0.196 HR/AB=0.039
| 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.160 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.391 |
| predicted_AVG | 0.167 | -0.029 |
| predicted_BB | 1.000 | 0.358 |
| predicted_H | 1.000 | -0.101 |
| predicted_HR | 0.000 | -0.218 |
| predicted_OBP | 0.286 | 0.007 |
| predicted_R | 1.000 | 0.367 |
| predicted_RBI | 1.000 | 0.309 |
| predicted_SLG | 0.167 | -0.175 |
| predicted_SO | 1.000 | -0.367 |
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 | 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 | 2 | - | 16.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.5000 |
| last_10 | 0.20 | 4 | - | 28.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 10.000 | 0.2143 | 0.3333 | 0.2143 | 0.2143 | 0.0000 | 0.0000 | 0.1786 | 0.3571 |
| season | 0.60 | 45 | - | 433.000 | 91.000 | 14.000 | 0.000 | 23.000 | 72.000 | 56.000 | 52.000 | 93.000 | 0.2102 | 0.2889 | 0.4018 | 0.2102 | 0.0531 | 0.1663 | 0.1201 | 0.2148 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2380 |
| predicted_3B | 0.0020 |
| predicted_AB | 8.8720 |
| predicted_AVG | 0.1920 |
| predicted_BB | 0.9900 |
| predicted_H | 1.7030 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.3680 |
| predicted_OBP | 0.2660 |
| predicted_R | 0.9500 |
| predicted_RBI | 1.1650 |
| predicted_SLG | 0.3436 |
| predicted_SO | 2.2850 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1010 | 0.2380 | 0.1604 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.1150 | 8.8720 | 5.6095 | model_form_blend |
| predicted_AVG | 0.2460 | 0.1920 | 0.2226 | model_form_blend |
| predicted_BB | 0.3740 | 0.9900 | 0.6409 | model_form_blend |
| predicted_H | 0.6500 | 1.7030 | 1.1063 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1000 | 0.3680 | 0.2161 | model_form_blend |
| predicted_OBP | 0.3200 | 0.2660 | 0.2966 | model_form_blend |
| predicted_R | 0.4030 | 0.9500 | 0.6400 | model_form_blend |
| predicted_RBI | 0.3400 | 1.1650 | 0.6975 | model_form_blend |
| predicted_SLG | 0.3580 | 0.3436 | 0.3518 | model_form_blend |
| predicted_SO | 0.6690 | 2.2850 | 1.3692 | 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 | 140 |
| Season rows before report date | 140 |
| 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 | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 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 | 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 | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 694208 |
| playerID | 694208 |
| playerName | Moisés Ballesteros |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.331 |
| sl_xwoba | 0.334 |
| sl_xba | 0.249 |
| sl_xslg | 0.426 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 11.5 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 11.1 |
| sl_whiff_percent | 27.5 |
| sl_swing_percent | 49.7 |
| at_bat_number | 29.0 |
| ab_pitcher | 696149.0 |
| ab_pitcher_name | Chandler, Bubba |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 4.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 | 3.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 3.0 |
| ab_event | field_out |
| ab_event_description | Moisés Ballesteros pops out to third baseman Nick Gonzales. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 85.8 |
| ab_launch_angle_last | 73.0 |
| ab_hit_distance_last | 105.0 |
| ab_estimated_ba_last | 0.006 |
| ab_estimated_woba_last | 0.006 |
| ab_estimated_slg_last | 0.007 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.86 |
| ab_release_spin_rate_avg | 2362.8 |
| ab_effective_speed_avg | 93.76 |
| ab_launch_speed_avg | 88.44999999999999 |
| ab_launch_angle_avg | 55.0 |
| ab_delta_run_exp_avg | -0.0512 |
| ab_delta_home_win_exp_avg | 0.0054 |
| ab_delta_pitcher_run_exp_avg | 0.0512 |
| ab_bat_speed_avg | 73.9 |
| ab_swing_length_avg | 6.7 |
| ab_launch_speed_max | 91.1 |
| ab_hit_distance_sc_max | 326.0 |
| ab_release_speed_max | 98.8 |
| ab_release_spin_rate_max | 2466.0 |
| ab_release_speed_min | 88.3 |
| ab_release_spin_rate_min | 2127.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.027 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.058 | 0.000 | 0.000 | Hitting_2B | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.291 | 3.000 | 6.000 | Hitting_AB | 3.076 | 2.000 | -0.076 | 1.000 |
| predicted_AVG | 0.263 | 0.000 | 0.167 | Hitting_AVG | 0.230 | 0.000 | -0.230 | 0.000 |
| predicted_BB | 0.326 | 1.000 | 1.000 | Hitting_BB | 0.337 | 1.000 | 0.663 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 0.000 | 1.000 | Hitting_H | 0.707 | 0.000 | -0.707 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.130 | 0.000 | -0.130 | 0.000 |
| predicted_OBP | 0.314 | 0.250 | 0.286 | Hitting_OBP | 0.333 | 0.333 | -0.083 | -0.083 |
| predicted_R | 0.570 | 0.000 | 1.000 | Hitting_R | 0.543 | 0.000 | -0.543 | 0.000 |
| predicted_RBI | 0.290 | 0.000 | 1.000 | Hitting_RBI | 0.359 | 0.000 | -0.359 | 0.000 |
| predicted_SLG | 0.374 | 0.000 | 0.167 | Hitting_SLG | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_SO | 0.907 | 1.000 | 2.000 | Hitting_SO | 0.848 | 1.000 | 0.152 | 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_BB: 0.3260 -> 1.0000 (boost 0.6740, better) |
| Biggest Deboost | predicted_H: 0.5900 -> 0.0000 (deboost -0.5900, 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.2910 -> 5.6714 (boost 2.3804, better) | predicted_AVG: 0.2630 -> 0.2374 (deboost -0.0256, 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.3567 -> 0.3121 (deboost -0.0446, 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.5059 -> 1.0000 (boost 0.4941, better) | predicted_HBP: 0.2870 -> 0.0000 (deboost -0.2870, worse) | AB rounded to 6 (raw=5.67), rates preserved: AVG=0.194 HR/AB=0.030 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8984 -> 1.0000 (boost 0.1016, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2759 -> 0.2860 (boost 0.0101, better) | predicted_SLG: 0.3121 -> 0.1670 (deboost -0.1451, 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.1670 -> 0.3121 (boost 0.1451, better) | predicted_OBP: 0.2860 -> 0.2759 (deboost -0.0101, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665804",
"player_name": "Miguel Amaya",
"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.058,
"predicted_3B": 0.0,
"predicted_AB": 3.291,
"predicted_AVG": 0.263,
"predicted_BB": 0.326,
"predicted_H": 0.59,
"predicted_HR": 0.08,
"predicted_OBP": 0.314,
"predicted_R": 0.57,
"predicted_RBI": 0.29,
"predicted_SLG": 0.374,
"predicted_SO": 0.907
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.1626,
"predicted_3B": 0.0013,
"predicted_AB": 5.6714,
"predicted_AVG": 0.2374,
"predicted_BB": 0.6402,
"predicted_H": 1.1054,
"predicted_HBP": 0.287,
"predicted_HR": 0.1667,
"predicted_OBP": 0.312,
"predicted_R": 0.9076,
"predicted_RBI": 0.5111,
"predicted_SLG": 0.3567,
"predicted_SO": 1.6154
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.058,
"after": 0.1626,
"delta": 0.1046,
"percent_delta": 1.8034,
"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.291,
"after": 5.6714,
"delta": 2.3804,
"percent_delta": 0.7233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2374,
"delta": -0.0256,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.6402,
"delta": 0.3142,
"percent_delta": 0.9638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 1.1054,
"delta": 0.5154,
"percent_delta": 0.8736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1667,
"delta": 0.0867,
"percent_delta": 1.0837,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.312,
"delta": -0.002,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.57,
"after": 0.9076,
"delta": 0.3376,
"percent_delta": 0.5923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.5111,
"delta": 0.2211,
"percent_delta": 0.7624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3567,
"delta": -0.0173,
"percent_delta": -0.0463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.907,
"after": 1.6154,
"delta": 0.7084,
"percent_delta": 0.781,
"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.291,
"after": 5.6714,
"delta": 2.3804,
"percent_delta": 0.7233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.2374,
"delta": -0.0256,
"percent_delta": -0.0973,
"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": 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.1626,
"predicted_3B": 0.0013,
"predicted_AB": 5.6714,
"predicted_AVG": 0.194,
"predicted_BB": 0.641,
"predicted_H": 1.1003,
"predicted_HBP": 0.287,
"predicted_HR": 0.1681,
"predicted_OBP": 0.2759,
"predicted_R": 0.8984,
"predicted_RBI": 0.5059,
"predicted_SLG": 0.3121,
"predicted_SO": 1.6133
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1626,
"after": 0.1626,
"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.6714,
"after": 5.6714,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2374,
"after": 0.194,
"delta": -0.0434,
"percent_delta": -0.1828,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6402,
"after": 0.641,
"delta": 0.0008,
"percent_delta": 0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1054,
"after": 1.1003,
"delta": -0.0051,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.287,
"after": 0.287,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1667,
"after": 0.1681,
"delta": 0.0014,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.2759,
"delta": -0.0361,
"percent_delta": -0.1157,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9076,
"after": 0.8984,
"delta": -0.0092,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5111,
"after": 0.5059,
"delta": -0.0052,
"percent_delta": -0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3567,
"after": 0.3121,
"delta": -0.0446,
"percent_delta": -0.125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6154,
"after": 1.6133,
"delta": -0.0021,
"percent_delta": -0.0013,
"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.3567,
"after": 0.3121,
"delta": -0.0446,
"percent_delta": -0.125,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.67), rates preserved: AVG=0.194 HR/AB=0.030",
"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.1626,
"after": 0.0,
"delta": -0.1626,
"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.6714,
"after": 6.0,
"delta": 0.3286,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.641,
"after": 1.0,
"delta": 0.359,
"percent_delta": 0.5601,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1003,
"after": 1.0,
"delta": -0.1003,
"percent_delta": -0.0912,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1681,
"after": 0.0,
"delta": -0.1681,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5059,
"after": 1.0,
"delta": 0.4941,
"percent_delta": 0.9767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6133,
"after": 2.0,
"delta": 0.3867,
"percent_delta": 0.2397,
"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.5059,
"after": 1.0,
"delta": 0.4941,
"percent_delta": 0.9767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.287,
"after": 0.0,
"delta": -0.287,
"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.8984,
"after": 1.0,
"delta": 0.1016,
"percent_delta": 0.1131,
"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.8984,
"after": 1.0,
"delta": 0.1016,
"percent_delta": 0.1131,
"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.194,
"after": 0.167,
"delta": -0.027,
"percent_delta": -0.1392,
"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.2759,
"after": 0.286,
"delta": 0.0101,
"percent_delta": 0.0366,
"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.3121,
"after": 0.167,
"delta": -0.1451,
"percent_delta": -0.4649,
"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.2759,
"after": 0.286,
"delta": 0.0101,
"percent_delta": 0.0366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3121,
"after": 0.167,
"delta": -0.1451,
"percent_delta": -0.4649,
"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": 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": 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.194,
"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.2759,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3121,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.194,
"delta": 0.027,
"percent_delta": 0.1617,
"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.2759,
"delta": -0.0101,
"percent_delta": -0.0355,
"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.3121,
"delta": 0.1451,
"percent_delta": 0.8687,
"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.3121,
"delta": 0.1451,
"percent_delta": 0.8687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2759,
"delta": -0.0101,
"percent_delta": -0.0355,
"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.058,
"after": 0.0,
"delta": -0.058,
"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.291,
"after": 3.0,
"delta": -0.291,
"percent_delta": -0.0884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.263,
"after": 0.194,
"delta": -0.069,
"percent_delta": -0.2624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"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.314,
"after": 0.2759,
"delta": -0.0381,
"percent_delta": -0.1213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.57,
"after": 0.0,
"delta": -0.57,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.0,
"delta": -0.29,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3121,
"delta": -0.0619,
"percent_delta": -0.1655,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.907,
"after": 1.0,
"delta": 0.093,
"percent_delta": 0.1025,
"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_BB",
"before": 0.326,
"after": 1.0,
"delta": 0.674,
"percent_delta": 2.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.59,
"after": 0.0,
"delta": -0.59,
"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.058 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.291 | - |
| predicted_AVG | 0.263 | - |
| predicted_BB | 0.326 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.570 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.374 | - |
| predicted_SO | 0.907 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.105 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.671 | 2.380 |
| predicted_AVG | 0.237 | -0.026 |
| predicted_BB | 0.640 | 0.314 |
| predicted_H | 1.105 | 0.515 |
| predicted_HBP | 0.287 | - |
| predicted_HR | 0.167 | 0.087 |
| predicted_OBP | 0.312 | -0.002 |
| predicted_R | 0.908 | 0.338 |
| predicted_RBI | 0.511 | 0.221 |
| predicted_SLG | 0.357 | -0.017 |
| predicted_SO | 1.615 | 0.708 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.671 | 0.000 |
| predicted_AVG | 0.194 | -0.043 |
| predicted_BB | 0.641 | 0.001 |
| predicted_H | 1.100 | -0.005 |
| predicted_HBP | 0.287 | 0.000 |
| predicted_HR | 0.168 | 0.001 |
| predicted_OBP | 0.276 | -0.036 |
| predicted_R | 0.898 | -0.009 |
| predicted_RBI | 0.506 | -0.005 |
| predicted_SLG | 0.312 | -0.045 |
| predicted_SO | 1.613 | -0.002 |
AB rounded to 6 (raw=5.67), rates preserved: AVG=0.194 HR/AB=0.030
| 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.163 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.329 |
| predicted_AVG | 0.167 | -0.027 |
| predicted_BB | 1.000 | 0.359 |
| predicted_H | 1.000 | -0.100 |
| predicted_HR | 0.000 | -0.168 |
| predicted_OBP | 0.286 | 0.010 |
| predicted_R | 1.000 | 0.102 |
| predicted_RBI | 1.000 | 0.494 |
| predicted_SLG | 0.167 | -0.145 |
| predicted_SO | 2.000 | 0.387 |
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 | -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 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 5.000 | 0.0000 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.3000 | 0.5000 |
| last_10 | 0.20 | 5 | - | 23.000 | 4.000 | 3.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 6.000 | 0.1739 | 0.2692 | 0.3043 | 0.1739 | 0.0000 | 0.0000 | 0.1304 | 0.2609 |
| season | 0.60 | 26 | - | 283.000 | 65.000 | 5.000 | 0.000 | 12.000 | 33.000 | 49.000 | 28.000 | 78.000 | 0.2297 | 0.3272 | 0.3746 | 0.2297 | 0.0424 | 0.1166 | 0.0989 | 0.2756 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3040 |
| predicted_3B | 0.0030 |
| predicted_AB | 8.8890 |
| predicted_AVG | 0.2027 |
| predicted_BB | 1.0650 |
| predicted_H | 1.8020 |
| predicted_HBP | 0.2870 |
| predicted_HR | 0.2840 |
| predicted_OBP | 0.3092 |
| predicted_R | 1.3640 |
| predicted_RBI | 0.8100 |
| predicted_SLG | 0.3334 |
| predicted_SO | 2.5730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0580 | 0.3040 | 0.1626 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.2910 | 8.8890 | 5.6714 | model_form_blend |
| predicted_AVG | 0.2630 | 0.2027 | 0.2374 | model_form_blend |
| predicted_BB | 0.3260 | 1.0650 | 0.6402 | model_form_blend |
| predicted_H | 0.5900 | 1.8020 | 1.1054 | model_form_blend |
| predicted_HBP | - | 0.2870 | 0.2870 | form_only |
| predicted_HR | 0.0800 | 0.2840 | 0.1667 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3092 | 0.3120 | model_form_blend |
| predicted_R | 0.5700 | 1.3640 | 0.9076 | model_form_blend |
| predicted_RBI | 0.2900 | 0.8100 | 0.5111 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3334 | 0.3567 | model_form_blend |
| predicted_SO | 0.9070 | 2.5730 | 1.6154 | 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 | 86 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 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 | C |
| gameID | 20260525_CHC@PIT |
| game_type | full |
| mlbID | 665804 |
| playerID | 665804 |
| playerName | Miguel Amaya |
| pos | C |
| started | True |
| startingPosition | C |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-25 |
| game_pk | 823380.0 |
| sl_k_percent | 21.7 |
| sl_bb_percent | 12.0 |
| sl_woba | 0.334 |
| sl_xwoba | 0.296 |
| sl_xba | 0.198 |
| sl_xslg | 0.314 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 6.9 |
| sl_hard_hit_percent | 25.9 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 21.5 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 42.9 |
| at_bat_number | 47.0 |
| ab_pitcher | 696062.0 |
| ab_pitcher_name | Dotel, Wilber |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 694208.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | strikeout |
| ab_event_description | Miguel Amaya strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 60.1 |
| ab_launch_angle_last | 50.0 |
| ab_hit_distance_last | 155.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 | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 87.96000000000001 |
| ab_release_spin_rate_avg | 2226.4 |
| ab_effective_speed_avg | 88.42 |
| ab_launch_speed_avg | 60.1 |
| ab_launch_angle_avg | 50.0 |
| ab_delta_run_exp_avg | -0.0534 |
| ab_delta_home_win_exp_avg | 0.0072 |
| ab_delta_pitcher_run_exp_avg | 0.0534 |
| ab_bat_speed_avg | 69.76666666666667 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 60.1 |
| ab_hit_distance_sc_max | 155.0 |
| ab_release_speed_max | 89.4 |
| ab_release_spin_rate_max | 2350.0 |
| ab_release_speed_min | 87.3 |
| ab_release_spin_rate_min | 2137.0 |
| ab_delta_run_exp_sum | -0.267 |
| ab_delta_home_win_exp_sum | 0.036 |
| ab_delta_pitcher_run_exp_sum | 0.267 |
| 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.091 | 1.000 | 0.000 | Hitting_2B | 0.091 | 1.000 | 0.909 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.483 | 4.000 | 8.000 | Hitting_AB | 3.483 | 4.000 | 0.517 | 0.000 |
| predicted_AVG | 0.226 | 0.250 | 0.250 | Hitting_AVG | 0.205 | 0.500 | 0.045 | -0.250 |
| predicted_BB | 0.531 | 0.000 | 1.000 | Hitting_BB | 0.531 | 1.000 | -0.531 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.700 | 1.000 | 2.000 | Hitting_H | 0.713 | 2.000 | 0.287 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.158 | 0.000 | -0.158 | 0.000 |
| predicted_OBP | 0.293 | 0.250 | 0.333 | Hitting_OBP | 0.308 | 0.600 | -0.058 | -0.350 |
| predicted_R | 0.694 | 0.000 | 2.000 | Hitting_R | 0.694 | 2.000 | -0.694 | -2.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_SLG | 0.358 | 0.500 | 0.250 | Hitting_SLG | 0.378 | 0.750 | 0.122 | -0.250 |
| predicted_SO | 0.866 | 0.000 | 2.000 | Hitting_SO | 0.866 | 0.000 | -0.866 | 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_2B: 0.0910 -> 1.0000 (boost 0.9090, better) |
| Biggest Deboost | predicted_SO: 0.8660 -> 0.0000 (deboost -0.8660, 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.4830 -> 7.9924 (boost 4.5094, 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.3125 -> 0.3316 (boost 0.0191, better) | predicted_AVG: 0.2281 -> 0.2225 (deboost -0.0056, 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_H: 1.7780 -> 2.0000 (boost 0.2220, better) | predicted_2B: 0.3617 -> 0.0000 (deboost -0.3617, worse) | AB rounded to 8 (raw=7.99), rates preserved: AVG=0.222 HR/AB=0.036 |
| 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: 1.7134 -> 2.0000 (boost 0.2866, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2225 -> 0.2500 (boost 0.0275, better) | predicted_SLG: 0.3845 -> 0.2500 (deboost -0.1345, 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_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 | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.2500 -> 0.3845 (boost 0.1345, better) | predicted_AVG: 0.2500 -> 0.2225 (deboost -0.0275, worse) | 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.091,
"predicted_3B": 0.019,
"predicted_AB": 3.483,
"predicted_AVG": 0.226,
"predicted_BB": 0.531,
"predicted_H": 0.7,
"predicted_HR": 0.1,
"predicted_OBP": 0.293,
"predicted_R": 0.694,
"predicted_RBI": 0.36,
"predicted_SLG": 0.358,
"predicted_SO": 0.866
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3617,
"predicted_3B": 0.0379,
"predicted_AB": 7.9924,
"predicted_AVG": 0.2281,
"predicted_BB": 1.303,
"predicted_H": 1.7862,
"predicted_HBP": 0.065,
"predicted_HR": 0.2835,
"predicted_OBP": 0.3125,
"predicted_R": 1.7309,
"predicted_RBI": 1.01,
"predicted_SLG": 0.3783,
"predicted_SO": 1.9064
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.3617,
"delta": 0.2707,
"percent_delta": 2.9747,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0379,
"delta": 0.0189,
"percent_delta": 0.9947,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.483,
"after": 7.9924,
"delta": 4.5094,
"percent_delta": 1.2947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2281,
"delta": 0.0021,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.531,
"after": 1.303,
"delta": 0.772,
"percent_delta": 1.4539,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7,
"after": 1.7862,
"delta": 1.0862,
"percent_delta": 1.5517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2835,
"delta": 0.1835,
"percent_delta": 1.835,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3125,
"delta": 0.0195,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.694,
"after": 1.7309,
"delta": 1.0369,
"percent_delta": 1.4941,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 1.01,
"delta": 0.65,
"percent_delta": 1.8056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.358,
"after": 0.3783,
"delta": 0.0203,
"percent_delta": 0.0567,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 1.9064,
"delta": 1.0404,
"percent_delta": 1.2014,
"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.483,
"after": 7.9924,
"delta": 4.5094,
"percent_delta": 1.2947,
"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": 1,
"last_10": 3,
"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.3617,
"predicted_3B": 0.0379,
"predicted_AB": 7.9924,
"predicted_AVG": 0.2225,
"predicted_BB": 1.3047,
"predicted_H": 1.778,
"predicted_HBP": 0.065,
"predicted_HR": 0.2859,
"predicted_OBP": 0.3316,
"predicted_R": 1.7134,
"predicted_RBI": 0.9998,
"predicted_SLG": 0.3845,
"predicted_SO": 1.9039
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3617,
"after": 0.3617,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0379,
"after": 0.0379,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9924,
"after": 7.9924,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2281,
"after": 0.2225,
"delta": -0.0056,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.303,
"after": 1.3047,
"delta": 0.0017,
"percent_delta": 0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7862,
"after": 1.778,
"delta": -0.0082,
"percent_delta": -0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2835,
"after": 0.2859,
"delta": 0.0024,
"percent_delta": 0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3125,
"after": 0.3316,
"delta": 0.0191,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.7309,
"after": 1.7134,
"delta": -0.0175,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.01,
"after": 0.9998,
"delta": -0.0102,
"percent_delta": -0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3783,
"after": 0.3845,
"delta": 0.0062,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9064,
"after": 1.9039,
"delta": -0.0025,
"percent_delta": -0.0013,
"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.3125,
"after": 0.3316,
"delta": 0.0191,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2281,
"after": 0.2225,
"delta": -0.0056,
"percent_delta": -0.0246,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.99), rates preserved: AVG=0.222 HR/AB=0.036",
"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.3617,
"after": 0.0,
"delta": -0.3617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0379,
"after": 0.0,
"delta": -0.0379,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.9924,
"after": 8.0,
"delta": 0.0076,
"percent_delta": 0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.3047,
"after": 1.0,
"delta": -0.3047,
"percent_delta": -0.2335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.778,
"after": 2.0,
"delta": 0.222,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.065,
"after": 0.0,
"delta": -0.065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2859,
"after": 0.0,
"delta": -0.2859,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9998,
"after": 1.0,
"delta": 0.0002,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9039,
"after": 2.0,
"delta": 0.0961,
"percent_delta": 0.0505,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.778,
"after": 2.0,
"delta": 0.222,
"percent_delta": 0.1249,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3617,
"after": 0.0,
"delta": -0.3617,
"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": 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.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": 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": 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.7134,
"after": 2.0,
"delta": 0.2866,
"percent_delta": 0.1673,
"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.7134,
"after": 2.0,
"delta": 0.2866,
"percent_delta": 0.1673,
"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": 2.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.2225,
"after": 0.25,
"delta": 0.0275,
"percent_delta": 0.1236,
"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.3316,
"after": 0.333,
"delta": 0.0014,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.3845,
"after": 0.25,
"delta": -0.1345,
"percent_delta": -0.3498,
"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_AVG",
"before": 0.2225,
"after": 0.25,
"delta": 0.0275,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3845,
"after": 0.25,
"delta": -0.1345,
"percent_delta": -0.3498,
"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": 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": 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": 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": 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_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.2225,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3316,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3845,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2225,
"delta": -0.0275,
"percent_delta": -0.1102,
"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.3316,
"delta": -0.0014,
"percent_delta": -0.0043,
"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.3845,
"delta": 0.1345,
"percent_delta": 0.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3845,
"delta": 0.1345,
"percent_delta": 0.5381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2225,
"delta": -0.0275,
"percent_delta": -0.1102,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 1.0,
"delta": 0.909,
"percent_delta": 9.989,
"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": 3.483,
"after": 4.0,
"delta": 0.517,
"percent_delta": 0.1484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2225,
"delta": -0.0035,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.531,
"after": 0.0,
"delta": -0.531,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.293,
"after": 0.3316,
"delta": 0.0386,
"percent_delta": 0.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.694,
"after": 0.0,
"delta": -0.694,
"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.358,
"after": 0.3845,
"delta": 0.0265,
"percent_delta": 0.074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 0.0,
"delta": -0.866,
"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_2B",
"before": 0.091,
"after": 1.0,
"delta": 0.909,
"percent_delta": 9.989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.866,
"after": 0.0,
"delta": -0.866,
"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.091 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.483 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.531 | - |
| predicted_H | 0.700 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.293 | - |
| predicted_R | 0.694 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.358 | - |
| predicted_SO | 0.866 | - |
Final model 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.362 | 0.271 |
| predicted_3B | 0.038 | 0.019 |
| predicted_AB | 7.992 | 4.509 |
| predicted_AVG | 0.228 | 0.002 |
| predicted_BB | 1.303 | 0.772 |
| predicted_H | 1.786 | 1.086 |
| predicted_HBP | 0.065 | - |
| predicted_HR | 0.283 | 0.183 |
| predicted_OBP | 0.312 | 0.020 |
| predicted_R | 1.731 | 1.037 |
| predicted_RBI | 1.010 | 0.650 |
| predicted_SLG | 0.378 | 0.020 |
| predicted_SO | 1.906 | 1.040 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.362 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 7.992 | 0.000 |
| predicted_AVG | 0.223 | -0.006 |
| predicted_BB | 1.305 | 0.002 |
| predicted_H | 1.778 | -0.008 |
| predicted_HBP | 0.065 | 0.000 |
| predicted_HR | 0.286 | 0.002 |
| predicted_OBP | 0.332 | 0.019 |
| predicted_R | 1.713 | -0.018 |
| predicted_RBI | 1.000 | -0.010 |
| predicted_SLG | 0.385 | 0.006 |
| predicted_SO | 1.904 | -0.003 |
AB rounded to 8 (raw=7.99), rates preserved: AVG=0.222 HR/AB=0.036
| 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=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 | 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 | 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.362 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 8.000 | 0.008 |
| predicted_AVG | 0.250 | 0.027 |
| predicted_BB | 1.000 | -0.305 |
| predicted_H | 2.000 | 0.222 |
| predicted_HR | 0.000 | -0.286 |
| predicted_OBP | 0.333 | 0.001 |
| predicted_R | 2.000 | 0.287 |
| predicted_RBI | 1.000 | 0.000 |
| predicted_SLG | 0.250 | -0.135 |
| predicted_SO | 2.000 | 0.096 |
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 | 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 | 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 | 1 | - | 20.000 | 10.000 | 5.000 | 0.000 | 0.000 | 0.000 | 10.000 | 5.000 | 0.000 | 0.5000 | 0.6000 | 0.7500 | 0.5000 | 0.0000 | 0.0000 | 0.2500 | 0.0000 |
| last_10 | 0.20 | 3 | - | 35.000 | 10.000 | 5.000 | 0.000 | 0.000 | 0.000 | 10.000 | 9.000 | 9.000 | 0.2857 | 0.4318 | 0.4286 | 0.2857 | 0.0000 | 0.0000 | 0.2571 | 0.2571 |
| season | 0.60 | 52 | - | 728.000 | 149.000 | 19.000 | 4.000 | 33.000 | 117.000 | 145.000 | 111.000 | 181.000 | 0.2047 | 0.3081 | 0.3777 | 0.2047 | 0.0453 | 0.1607 | 0.1525 | 0.2486 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7060 |
| predicted_3B | 0.0620 |
| predicted_AB | 13.7290 |
| predicted_AVG | 0.2308 |
| predicted_BB | 2.2850 |
| predicted_H | 3.1680 |
| predicted_HBP | 0.0650 |
| predicted_HR | 0.5170 |
| predicted_OBP | 0.3372 |
| predicted_R | 3.0500 |
| predicted_RBI | 1.8370 |
| predicted_SLG | 0.4042 |
| predicted_SO | 3.2300 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.7060 | 0.3617 | model_form_blend |
| predicted_3B | 0.0190 | 0.0620 | 0.0379 | model_form_blend |
| predicted_AB | 3.4830 | 13.7290 | 7.9924 | model_form_blend |
| predicted_AVG | 0.2260 | 0.2308 | 0.2281 | model_form_blend |
| predicted_BB | 0.5310 | 2.2850 | 1.3030 | model_form_blend |
| predicted_H | 0.7000 | 3.1680 | 1.7862 | model_form_blend |
| predicted_HBP | - | 0.0650 | 0.0650 | form_only |
| predicted_HR | 0.1000 | 0.5170 | 0.2835 | model_form_blend |
| predicted_OBP | 0.2930 | 0.3372 | 0.3125 | model_form_blend |
| predicted_R | 0.6940 | 3.0500 | 1.7309 | model_form_blend |
| predicted_RBI | 0.3600 | 1.8370 | 1.0100 | model_form_blend |
| predicted_SLG | 0.3580 | 0.4042 | 0.3783 | model_form_blend |
| predicted_SO | 0.8660 | 3.2300 | 1.9064 | 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 | 209 |
| Season rows before report date | 209 |
| Report year | 2026 |
| Profile rows used | 209 |
| 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.205 |
| 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 | 1 |
| 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 | 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 | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 621020 |
| playerID | 621020 |
| playerName | Dansby Swanson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 12.2 |
| sl_woba | 0.282 |
| sl_xwoba | 0.305 |
| sl_xba | 0.207 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 27.1 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 43.6 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 30.1 |
| sl_swing_percent | 45.8 |
| at_bat_number | 73.0 |
| ab_pitcher | 642701.0 |
| ab_pitcher_name | Santana, Dennis |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 608348.0 |
| ab_on_2b_start | 624424.0 |
| ab_on_3b_start | 624424.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 4.0 |
| ab_event | walk |
| ab_event_description | Dansby Swanson walks. |
| ab_event_type | B |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 92.875 |
| ab_release_spin_rate_avg | 2406.0 |
| ab_effective_speed_avg | 92.325 |
| ab_delta_run_exp_avg | 0.02075 |
| ab_delta_home_win_exp_avg | -0.00025 |
| ab_delta_pitcher_run_exp_avg | -0.02075 |
| ab_release_speed_max | 95.5 |
| ab_release_spin_rate_max | 2535.0 |
| ab_release_speed_min | 85.7 |
| ab_release_spin_rate_min | 2312.0 |
| ab_delta_run_exp_sum | 0.083 |
| ab_delta_home_win_exp_sum | -0.001 |
| ab_delta_pitcher_run_exp_sum | -0.083 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.545 | 3.000 | -1.545 | -3.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.636 | 3.000 | 0.364 | 0.000 |
| predicted_H | 7.000 | 7.000 | 7.000 | Pitching_H | 5.182 | 4.000 | 1.818 | 3.000 |
| predicted_IP | 5.100 | 5.100 | 5.100 | Pitching_InningsPitched | 4.718 | 7.000 | 0.382 | -1.900 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 4.000 | 4.000 | 2.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: 5.3333 -> 5.1000 (deboost -0.2333, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.3333 -> 5.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "607067",
"player_name": "Colin Rea",
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.3333,
"predicted_SO": 6.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 3.0,
"predicted_H": 7.0,
"predicted_HR": 1.0,
"predicted_IP": 5.1,
"predicted_R": 3.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0438,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.3333,
"after": 5.1,
"delta": -0.2333,
"percent_delta": -0.0437,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 3.000 | - |
| predicted_H | 7.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.333 | - |
| predicted_SO | 6.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 26.200 | 15.000 | 31.000 | 8.000 | 20.000 | 5.000 | 5.0625 | 1.4625 | 0.5625 | 1.1625 | 0.3000 | 0.7500 | 0.1875 |
| last_10 | 0.35 | 10 | 51.000 | 27.000 | 53.000 | 17.000 | 40.000 | 7.000 | 4.7647 | 1.3725 | 0.5294 | 1.0392 | 0.3333 | 0.7843 | 0.1373 |
| season | 0.20 | 11 | 54.000 | 29.000 | 57.000 | 17.000 | 44.000 | 8.000 | 4.8333 | 1.3704 | 0.5370 | 1.0556 | 0.3148 | 0.8148 | 0.1482 |
| Metric | Value |
|---|---|
| predicted_BB | 1.7270 |
| predicted_ER | 2.7210 |
| predicted_ERA | 4.7027 |
| predicted_H | 5.4650 |
| predicted_HR | 0.7930 |
| predicted_IP | 5.1000 |
| predicted_SO | 4.3110 |
| predicted_WHIP | 1.3812 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.7270 | 0.8945 | model_form_blend |
| predicted_ER | 3.0000 | 2.7210 | 2.8555 | model_form_blend |
| predicted_ERA | - | 4.7027 | 4.7027 | form_only |
| predicted_H | 7.0000 | 5.4650 | 6.2049 | model_form_blend |
| predicted_HR | 1.0000 | 0.7930 | 0.8928 | model_form_blend |
| predicted_IP | 5.1000 | 5.1000 | 5.1000 | model_form_blend |
| predicted_SO | 6.0000 | 4.3110 | 5.1252 | model_form_blend |
| predicted_WHIP | - | 1.3812 | 1.3812 | 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 | 5.1 |
| H | 7 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 6 |
| HR | 1 |
| BF | 23 |
| Pitches | 88 |
| Latest Real Data 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 | 3 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 27 |
| Pitching_ER | 3 |
| Pitching_ERA | 4.83 |
| Pitching_Flyouts | 6 |
| Pitching_Groundouts | 4 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 98 |
| Pitching_R | 3 |
| Pitching_SO | 4 |
| Pitching_Strikes | 56 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260523_HOU@CHC |
| game_type | full |
| mlbID | 607067 |
| playerID | 607067 |
| playerName | Colin Rea |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-23 |
| game_pk | 824674.0 |
| sl_k_percent | 18.8 |
| sl_bb_percent | 7.3 |
| sl_woba | 0.33 |
| sl_xwoba | 0.355 |
| sl_sweet_spot_percent | 33.9 |
| sl_barrel_batted_rate | 12.3 |
| sl_hard_hit_percent | 45.6 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 47.1 |
| sv_pitch_count | 98.0 |
| sv_outs_recorded_est | 20.0 |
| sv_release_speed | 89.38265306122449 |
| sv_release_spin_rate | 2051.183673469388 |
| sv_effective_speed | 89.94693877551019 |
| sv_launch_speed | 83.15517241379311 |
| sv_launch_angle | 22.86206896551724 |
| sv_woba_value | 7.9 |
| sv_woba_denom | 27.0 |
| sv_delta_run_exp | 0.3179999999999996 |
| sv_delta_home_win_exp | -0.0769999999999999 |
| sl_avg_best_speed | 83.020127647 |
| sl_avg_hyper_speed | 94.866370237 |
| 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.429 | 0.000 | -0.429 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.643 | 1.000 | -0.643 | -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 | 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": "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": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 4.000 | 1.000 | 3.000 | 0.000 | 1.9286 | 1.0714 | 0.2143 | 0.8571 | 0.2143 | 0.6429 | 0.0000 |
| last_10 | 0.35 | 10 | 8.100 | 3.000 | 8.000 | 3.000 | 10.000 | 1.000 | 3.2400 | 1.3200 | 0.3600 | 0.9600 | 0.3600 | 1.2000 | 0.1200 |
| season | 0.20 | 13 | 11.200 | 3.000 | 8.000 | 5.000 | 13.000 | 1.000 | 2.3143 | 1.1143 | 0.2571 | 0.6857 | 0.4286 | 1.1143 | 0.0857 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3370 |
| predicted_ER | 0.3940 |
| predicted_ERA | 3.6812 |
| predicted_H | 0.8830 |
| predicted_HR | 0.1040 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9060 |
| predicted_WHIP | 1.2664 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3370 | 0.1215 | model_form_blend |
| predicted_ER | 0.0000 | 0.3940 | 0.1421 | model_form_blend |
| predicted_ERA | - | 3.6812 | 3.6812 | form_only |
| predicted_H | 0.0000 | 0.8830 | 0.3185 | model_form_blend |
| predicted_HR | 0.0000 | 0.1040 | 0.0375 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9060 | 0.3268 | model_form_blend |
| predicted_WHIP | - | 1.2664 | 1.2664 | 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 | 13 |
| 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 | 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 | 3.09 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 573204 |
| playerID | 573204 |
| playerName | Caleb Thielbar |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 10.9 |
| sl_woba | 0.281 |
| sl_xwoba | 0.258 |
| sl_sweet_spot_percent | 27.6 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 31.0 |
| sl_whiff_percent | 24.5 |
| sl_swing_percent | 53.8 |
| sv_pitch_count | 17.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 87.15294117647058 |
| sv_release_spin_rate | 2389.8823529411766 |
| sv_effective_speed | 87.0764705882353 |
| sv_launch_speed | 77.08571428571429 |
| sv_launch_angle | -10.857142857142858 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.4299999999999999 |
| sv_delta_home_win_exp | -0.007 |
| sl_avg_best_speed | 76.3782 |
| sl_avg_hyper_speed | 93.502182593 |
| 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 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.250 | 1.000 | 1.750 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.917 | 1.000 | 1.083 | 1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.792 | 1.000 | 0.308 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.000 | 1.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: 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": "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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_IP": 1.1,
"predicted_R": 2.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": 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_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": 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_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 | 2.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.100 | 3.000 | 7.000 | 2.000 | 6.000 | 2.000 | 6.2308 | 2.0769 | 0.6923 | 1.6154 | 0.4615 | 1.3846 | 0.4615 |
| last_10 | 0.35 | 10 | 8.200 | 3.000 | 8.000 | 4.000 | 10.000 | 2.000 | 3.1154 | 1.3846 | 0.3462 | 0.9231 | 0.4615 | 1.1539 | 0.2308 |
| season | 0.20 | 12 | 10.200 | 3.000 | 11.000 | 4.000 | 12.000 | 2.000 | 2.5312 | 1.4062 | 0.2812 | 1.0312 | 0.3750 | 1.1250 | 0.1875 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3910 |
| predicted_ER | 0.4760 |
| predicted_ERA | 4.2884 |
| predicted_H | 1.0360 |
| predicted_HR | 0.1890 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0350 |
| predicted_WHIP | 1.4271 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3910 | 0.1379 | model_form_blend |
| predicted_ER | 2.0000 | 0.4760 | 1.4626 | model_form_blend |
| predicted_ERA | - | 4.2884 | 4.2884 | form_only |
| predicted_H | 2.0000 | 1.0360 | 1.6601 | model_form_blend |
| predicted_HR | 1.0000 | 0.1890 | 0.7140 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0350 | 0.3650 | model_form_blend |
| predicted_WHIP | - | 1.4271 | 1.4271 | 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 | 1.1 |
| H | 2 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 0 |
| HR | 1 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.53 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260526_CHC@PIT |
| game_type | full |
| mlbID | 694037 |
| playerID | 694037 |
| playerName | Daniel Palencia |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-26 |
| game_pk | 823379.0 |
| sl_k_percent | 26.1 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.336 |
| sl_xwoba | 0.308 |
| sl_sweet_spot_percent | 56.7 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 26.7 |
| sl_whiff_percent | 34.5 |
| sl_swing_percent | 49.4 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 97.89285714285714 |
| sv_release_spin_rate | 2331.3571428571427 |
| sv_effective_speed | 99.07857142857142 |
| sv_launch_speed | 85.175 |
| sv_launch_angle | 16.0 |
| sv_woba_value | 2.0 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.828 |
| sv_delta_home_win_exp | 0.001 |
| sl_avg_best_speed | 77.68752 |
| sl_avg_hyper_speed | 93.023746333 |
| 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.333 | 0.000 | 1.667 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.292 | 0.000 | -0.292 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 0.000 | -1.000 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.879 | 1.000 | -0.779 | -0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.250 | 3.000 | -1.250 | -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": "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": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.1,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": 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.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 | 2.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 5.000 | 0.000 | 10.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.9375 | 0.0000 | 1.8750 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 1.000 | 8.000 | 1.000 | 15.000 | 0.000 | 0.8182 | 0.8182 | 0.0909 | 0.7273 | 0.0909 | 1.3636 | 0.0000 |
| season | 0.20 | 24 | 23.200 | 7.000 | 24.000 | 8.000 | 30.000 | 3.000 | 2.6620 | 1.3521 | 0.2958 | 1.0141 | 0.3380 | 1.2676 | 0.1268 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1570 |
| predicted_ER | 0.1880 |
| predicted_ERA | 2.5888 |
| predicted_H | 0.5980 |
| predicted_HR | 0.0520 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.8180 |
| predicted_WHIP | 1.1511 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.1570 | 1.2048 | model_form_blend |
| predicted_ER | 0.0000 | 0.1880 | 0.0811 | model_form_blend |
| predicted_ERA | - | 2.5888 | 2.5888 | form_only |
| predicted_H | 0.0000 | 0.5980 | 0.2580 | model_form_blend |
| predicted_HR | 0.0000 | 0.0520 | 0.0224 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.8180 | 0.3530 | model_form_blend |
| predicted_WHIP | - | 1.1511 | 1.1511 | 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 | 0.1 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 2 |
| SO | 0 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.66 |
| 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 | 17 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 657097 |
| playerID | 657097 |
| playerName | Jacob Webb |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHC |
| teamID | 5 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.318 |
| sl_xwoba | 0.343 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 11.1 |
| sl_hard_hit_percent | 48.4 |
| sl_whiff_percent | 32.6 |
| sl_swing_percent | 52.8 |
| sv_pitch_count | 17.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.0529411764706 |
| sv_release_spin_rate | 2445.470588235294 |
| sv_effective_speed | 90.85882352941177 |
| sv_launch_speed | 85.2 |
| sv_launch_angle | 21.33333333333333 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.756 |
| sv_delta_home_win_exp | -0.076 |
| sl_avg_best_speed | 81.618106129 |
| sl_avg_hyper_speed | 95.658477742 |
| Field | Value |
|---|---|
| Pitcher | Paul Skenes |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.6809 |
| ESPN Rank | 38 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1766 |
| Avg Velo | 92.8414 |
| Avg Spin | 2133.0646 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 3 |
| Pre SO | 6 |
| Season ERA | 3 |
| Season WHIP | 0.8167 |
| Role Avg IP | 5.4550 |
| Recent Avg IP | 6.2000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"opponent": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": 0.0684,
"opponent_offense_edge": 0.1233,
"defense_strength": 0.0009,
"opponent_defense_weakness": 0.0436,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0,
"run_prevention": 1.0135,
"strikeout": 0.9938
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "694973",
"profile": {
"available": true,
"pitcher_id": "694973",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 207.0,
"k_percent": 28.0,
"bb_percent": 3.9,
"woba": 0.246,
"xwoba": 0.248,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 4.6,
"hard_hit_percent": 34.6,
"avg_best_speed": 76.134,
"avg_hyper_speed": 93.4121,
"whiff_percent": 24.7,
"swing_percent": 51.7
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.1924,
"command_and_miss": 0.5621,
"regression_edge": -0.0571,
"xwoba_edge": 1.7429,
"barrel_edge": 0.6,
"hard_hit_edge": 0.5571,
"whiff_edge": -0.1714,
"bb_edge": 1.375,
"pitch_design_score": 0.1766
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "694973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 92.84141993931992,
"release_spin_rate": 2133.0646336500404,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 92.84141993931992,
"release_spin_rate": 2133.0646336500404,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8414,
"release_spin_rate": 2133.0646,
"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.1766,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2615,
"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.6809,
"sample_weight": 0.828,
"run_prevention_factor": 0.9421,
"strikeout_factor": 1.0199,
"walk_factor": 0.9089,
"homer_factor": 0.8985,
"woba_minus_xwoba": -0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694973",
"espn_id": 4719507,
"player_name": "Paul Skenes",
"team": "PIT",
"role": "pitcher",
"espn_rank": 38,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 38,
"gp_value": 11.0,
"gp_rank": 245,
"gs_value": 11.0,
"gs_rank": 16,
"qs_value": 5.0,
"qs_rank": 31,
"era_value": 3.0,
"era_rank": 21.0,
"w_value": 6.0,
"w_rank": 8,
"l_value": 4.0,
"l_rank": 31,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 60.0,
"ip_rank": 52,
"h_value": 40.0,
"h_rank": 114,
"er_value": 20.0,
"er_rank": 107,
"hr_value": 6.0,
"hr_rank": 78,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 65.0,
"k_rank": 24,
"k_per_9_value": 9.75,
"k_per_9_rank": 12,
"whip_value": 0.8166,
"whip_rank": 1.0,
"war_value": 1.38,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9521,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9521,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9246,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 0.916,
"adjusted": 1
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0165,
"adjusted": 7
}
}
}
}{
"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.1,
"ER": 15,
"H": 36,
"BB": 7,
"SO": 64,
"HR": 6,
"ERA": 2.2752808988764044,
"WHIP": 0.7247191011235955,
"K9": 9.707865168539325,
"HR9": 0.9101123595505618,
"games_pitched": 10,
"quality_starts": 5,
"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-23T00:00:00"
}{
"available": true,
"pitcher_id": "694973",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 96,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 92.84141993931992,
"release_spin_rate": 2133.0646336500404,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 96,
"pitch_usage": 0.0,
"release_speed": 92.84141993931992,
"release_spin_rate": 2133.0646336500404,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8414,
"release_spin_rate": 2133.0646,
"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.1766,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.2615,
"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": "694973",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 31.0,
"ER": 12.0,
"R": 14.0,
"H": 26.0,
"BB": 2.0,
"SO": 35.0,
"HR": 4.0,
"BF": 122.0,
"Pitches": 487.0
},
"per_game": {
"IP": 6.1,
"ER": 2.4,
"R": 2.8,
"H": 5.2,
"BB": 0.4,
"SO": 7.0,
"HR": 0.8,
"BF": 24.4,
"Pitches": 97.4
},
"rates": {
"ERA": 3.4839,
"WHIP": 0.9032,
"ER_per_IP": 0.3871,
"H_per_IP": 0.83871,
"BB_per_IP": 0.06452,
"SO_per_IP": 1.12903,
"HR_per_IP": 0.12903
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 59.1,
"ER": 15.0,
"R": 17.0,
"H": 36.0,
"BB": 7.0,
"SO": 64.0,
"HR": 6.0,
"BF": 223.0,
"Pitches": 896.0
},
"per_game": {
"IP": 6.0,
"ER": 1.5,
"R": 1.7,
"H": 3.6,
"BB": 0.7,
"SO": 6.4,
"HR": 0.6,
"BF": 22.3,
"Pitches": 89.6
},
"rates": {
"ERA": 2.2753,
"WHIP": 0.7247,
"ER_per_IP": 0.25281,
"H_per_IP": 0.60674,
"BB_per_IP": 0.11798,
"SO_per_IP": 1.07865,
"HR_per_IP": 0.10112
}
},
"season": {
"games": 11,
"totals": {
"IP": 60.0,
"ER": 20.0,
"R": 22.0,
"H": 40.0,
"BB": 9.0,
"SO": 65.0,
"HR": 6.0,
"BF": 232.0,
"Pitches": 933.0
},
"per_game": {
"IP": 5.1,
"ER": 1.8182,
"R": 2.0,
"H": 3.6364,
"BB": 0.8182,
"SO": 5.9091,
"HR": 0.5455,
"BF": 21.0909,
"Pitches": 84.8182
},
"rates": {
"ERA": 3.0,
"WHIP": 0.8167,
"ER_per_IP": 0.33333,
"H_per_IP": 0.66667,
"BB_per_IP": 0.15,
"SO_per_IP": 1.08333,
"HR_per_IP": 0.1
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 2.246,
"predicted_H": 4.76,
"predicted_BB": 1.108,
"predicted_SO": 6.329,
"predicted_HR": 0.715,
"predicted_ERA": 3.3632,
"predicted_WHIP": 0.9761
}
}{
"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.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.246,
"final": 1.1634,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 4.76,
"final": 2.9476,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 1.108,
"final": 2.02,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 6.329,
"final": 6.1704,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.715,
"final": 0.3703,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3632,
"final": 3.3632,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9761,
"final": 0.9761,
"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.4922 |
| ESPN Rank | 94 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0370 |
| Avg Velo | 90.3480 |
| Avg Spin | 2393.1151 |
| 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 | 2.1316 |
| Season WHIP | 0.7895 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"opponent": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": 0.0684,
"opponent_offense_edge": 0.1233,
"defense_strength": 0.0009,
"opponent_defense_weakness": 0.0436,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0,
"run_prevention": 1.0135,
"strikeout": 0.9938
},
"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": 94.0,
"k_percent": 32.0,
"bb_percent": 10.3,
"woba": 0.204,
"xwoba": 0.235,
"sweet_spot_percent": 22.2,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 31.5,
"avg_best_speed": 71.8664,
"avg_hyper_speed": 92.6463,
"whiff_percent": 27.9,
"swing_percent": 42.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.7999,
"command_and_miss": 0.6593,
"regression_edge": -0.8857,
"xwoba_edge": 2.1143,
"barrel_edge": 0.8,
"hard_hit_edge": 1.0,
"whiff_edge": 0.2857,
"bb_edge": -0.225,
"pitch_design_score": 0.037
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "642397",
"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": 90.34799709118948,
"release_spin_rate": 2393.115061620025,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.34799709118948,
"release_spin_rate": 2393.115061620025,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.348,
"release_spin_rate": 2393.1151,
"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.037,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2642,
"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.4922,
"sample_weight": 0.45,
"run_prevention_factor": 0.9582,
"strikeout_factor": 1.0293,
"walk_factor": 1.0081,
"homer_factor": 0.9247,
"woba_minus_xwoba": -0.031,
"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": 94,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 94,
"gp_value": 25.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.1315,
"era_rank": null,
"w_value": 3.0,
"w_rank": 68,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 6.0,
"sv_rank": 17,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 25.1,
"ip_rank": 204,
"h_value": 10.0,
"h_rank": 416,
"er_value": 6.0,
"er_rank": 368,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 10.0,
"bb_rank": 224,
"k_value": 31.0,
"k_rank": 153,
"k_per_9_value": 11.013158,
"k_per_9_rank": 20,
"whip_value": 0.7894,
"whip_rank": null,
"war_value": 0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9812,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9812,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9661,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0132,
"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": 3,
"H": 4,
"BB": 4,
"SO": 11,
"HR": 0,
"ERA": 2.53125,
"WHIP": 0.75,
"K9": 9.28125,
"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-25T00:00:00"
}{
"available": true,
"pitcher_id": "642397",
"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": 90.34799709118948,
"release_spin_rate": 2393.115061620025,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.34799709118948,
"release_spin_rate": 2393.115061620025,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.348,
"release_spin_rate": 2393.1151,
"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.037,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2642,
"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.997,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4998,
"prior_weight": 0.5002
},
"role": "pitcher",
"player_id": "642397",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 3.0,
"SO": 5.0,
"HR": 0.0,
"BF": 23.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.8,
"H": 0.8,
"BB": 0.6,
"SO": 1.0,
"HR": 0.0,
"BF": 4.6,
"Pitches": 20.6
},
"rates": {
"ERA": 5.4,
"WHIP": 1.4,
"ER_per_IP": 0.6,
"H_per_IP": 0.8,
"BB_per_IP": 0.6,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 4.0,
"SO": 11.0,
"HR": 0.0,
"BF": 41.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.4,
"BB": 0.4,
"SO": 1.1,
"HR": 0.0,
"BF": 4.1,
"Pitches": 17.1
},
"rates": {
"ERA": 2.5312,
"WHIP": 0.75,
"ER_per_IP": 0.28125,
"H_per_IP": 0.375,
"BB_per_IP": 0.375,
"SO_per_IP": 1.03125,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 25.1,
"ER": 6.0,
"R": 7.0,
"H": 10.0,
"BB": 10.0,
"SO": 31.0,
"HR": 1.0,
"BF": 97.0,
"Pitches": 410.0
},
"per_game": {
"IP": 1.0,
"ER": 0.24,
"R": 0.28,
"H": 0.4,
"BB": 0.4,
"SO": 1.24,
"HR": 0.04,
"BF": 3.88,
"Pitches": 16.4
},
"rates": {
"ERA": 2.1316,
"WHIP": 0.7895,
"ER_per_IP": 0.23684,
"H_per_IP": 0.39474,
"BB_per_IP": 0.39474,
"SO_per_IP": 1.22368,
"HR_per_IP": 0.03947
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.444,
"predicted_H": 0.757,
"predicted_BB": 0.425,
"predicted_SO": 1.0,
"predicted_HR": 0.07,
"predicted_ERA": 3.9918,
"predicted_WHIP": 1.1813
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4387,
"form_reliability": 0.4998,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.997,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4998,
"prior_weight": 0.5002
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.444,
"final": 0.1948,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.757,
"final": 0.3321,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.425,
"final": 0.7478,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.0,
"final": 0.4387,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.07,
"final": 0.0307,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.9918,
"final": 3.9918,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1813,
"final": 1.1813,
"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.1192 |
| ESPN Rank | 214 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2800 |
| Avg Velo | 95.1153 |
| Avg Spin | 2361.5804 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 2.6129 |
| Season WHIP | 1.1129 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"opponent": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": 0.0684,
"opponent_offense_edge": 0.1233,
"defense_strength": 0.0009,
"opponent_defense_weakness": 0.0436,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0,
"run_prevention": 1.0135,
"strikeout": 0.9938
},
"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": 81.0,
"k_percent": 32.6,
"bb_percent": 9.3,
"woba": 0.293,
"xwoba": 0.31,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 44.0,
"avg_best_speed": 75.1864,
"avg_hyper_speed": 95.6504,
"whiff_percent": 35.2,
"swing_percent": 53.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.0031,
"command_and_miss": 1.1129,
"regression_edge": -0.4857,
"xwoba_edge": -0.0286,
"barrel_edge": -0.6,
"hard_hit_edge": -0.7857,
"whiff_edge": 1.3286,
"bb_edge": 0.025,
"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": 12,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 12,
"pitch_usage": 0.0,
"release_speed": 95.11527189837597,
"release_spin_rate": 2361.580399719819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.11527189837597,
"release_spin_rate": 2361.580399719819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1153,
"release_spin_rate": 2361.5804,
"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.1192,
"sample_weight": 0.45,
"run_prevention_factor": 0.9899,
"strikeout_factor": 1.0496,
"walk_factor": 0.9991,
"homer_factor": 1.0361,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682254",
"espn_id": 4424112,
"player_name": "Mason Montgomery",
"team": "PIT",
"role": "pitcher",
"espn_rank": 214,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 214,
"gp_value": 21.0,
"gp_rank": 105,
"gs_value": 3.0,
"gs_rank": 168,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.4838,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 20.2,
"ip_rank": 298,
"h_value": 17.0,
"h_rank": 295,
"er_value": 8.0,
"er_rank": 303,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 8.0,
"bb_rank": 282,
"k_value": 28.0,
"k_rank": 179,
"k_per_9_value": 12.193548,
"k_per_9_rank": 16,
"whip_value": 1.2096,
"whip_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9996,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0162,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0223,
"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": 4,
"BB": 3,
"SO": 8,
"HR": 1,
"ERA": 0.8709677419354839,
"WHIP": 0.6774193548387096,
"K9": 6.967741935483871,
"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-05-24T00:00:00"
}{
"available": true,
"pitcher_id": "682254",
"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.11527189837597,
"release_spin_rate": 2361.580399719819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.11527189837597,
"release_spin_rate": 2361.580399719819,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1153,
"release_spin_rate": 2361.5804,
"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.076,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4491,
"prior_weight": 0.5509
},
"role": "pitcher",
"player_id": "682254",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.2,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 0.0,
"SO": 6.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 74.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.0,
"SO": 1.2,
"HR": 0.2,
"BF": 4.4,
"Pitches": 14.8
},
"rates": {
"ERA": 1.35,
"WHIP": 0.45,
"ER_per_IP": 0.15,
"H_per_IP": 0.45,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9,
"HR_per_IP": 0.15
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 3.0,
"SO": 9.0,
"HR": 1.0,
"BF": 40.0,
"Pitches": 138.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.4,
"BB": 0.3,
"SO": 0.9,
"HR": 0.1,
"BF": 4.0,
"Pitches": 13.8
},
"rates": {
"ERA": 0.7941,
"WHIP": 0.6176,
"ER_per_IP": 0.08824,
"H_per_IP": 0.35294,
"BB_per_IP": 0.26471,
"SO_per_IP": 0.79412,
"HR_per_IP": 0.08824
}
},
"season": {
"games": 20,
"totals": {
"IP": 20.2,
"ER": 6.0,
"R": 6.0,
"H": 15.0,
"BB": 8.0,
"SO": 28.0,
"HR": 2.0,
"BF": 84.0,
"Pitches": 324.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.75,
"BB": 0.4,
"SO": 1.4,
"HR": 0.1,
"BF": 4.2,
"Pitches": 16.2
},
"rates": {
"ERA": 2.6129,
"WHIP": 1.1129,
"ER_per_IP": 0.29032,
"H_per_IP": 0.72581,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.35484,
"HR_per_IP": 0.09677
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.352,
"predicted_H": 0.78,
"predicted_BB": 0.299,
"predicted_SO": 1.012,
"predicted_HR": 0.134,
"predicted_ERA": 2.9688,
"predicted_WHIP": 1.0108
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5828,
"form_weight": 0.4172,
"form_reliability": 0.4491,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.076,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4491,
"prior_weight": 0.5509
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.352,
"final": 0.7296,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.78,
"final": 1.491,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.299,
"final": 0.1248,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.012,
"final": 1.5878,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.134,
"final": 0.0559,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.9688,
"final": 2.9688,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0108,
"final": 1.0108,
"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 | Yohan Ramírez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1362 |
| ESPN Rank | 143 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0071 |
| Avg Velo | 89.5604 |
| Avg Spin | 2448.0614 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 3 |
| Pre H | 4 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 4.7473 |
| Season WHIP | 1.4505 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "PIT",
"games": 62,
"wins": 31,
"losses": 31,
"win_pct": 0.5,
"runs_scored": 293.0,
"runs_allowed": 274.0,
"run_differential": 19.0,
"run_differential_per_game": 0.3065,
"avg_runs_scored": 4.7258,
"avg_runs_allowed": 4.4194,
"offense_index": 1.0684,
"defense_index": 1.0009,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.5,
"avg_runs_allowed": 4.1,
"run_differential": 4.0
},
"available": true,
"quality_score": 0.0381
},
"opponent": {
"team": "CHC",
"games": 64,
"wins": 33,
"losses": 31,
"win_pct": 0.5156,
"runs_scored": 318.0,
"runs_allowed": 296.0,
"run_differential": 22.0,
"run_differential_per_game": 0.3438,
"avg_runs_scored": 4.9688,
"avg_runs_allowed": 4.625,
"offense_index": 1.1233,
"defense_index": 0.9564,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 1,
"losses": 9,
"win_pct": 0.1,
"avg_runs_scored": 3.2,
"avg_runs_allowed": 6.1,
"run_differential": -29.0
},
"available": true,
"quality_score": -0.084
},
"edges": {
"quality_edge": 0.1221,
"offense_edge": 0.0684,
"opponent_offense_edge": 0.1233,
"defense_strength": 0.0009,
"opponent_defense_weakness": 0.0436,
"recent_win_pct_edge": 0.4
},
"player_factors": {
"ip": 1.0,
"run_prevention": 1.0135,
"strikeout": 0.9938
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "670990",
"profile": {
"available": true,
"pitcher_id": "670990",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 120.0,
"k_percent": 26.3,
"bb_percent": 12.8,
"woba": 0.311,
"xwoba": 0.302,
"sweet_spot_percent": 30.7,
"barrel_batted_rate": 6.7,
"hard_hit_percent": 32.0,
"avg_best_speed": 71.9947,
"avg_hyper_speed": 92.6041,
"whiff_percent": 28.8,
"swing_percent": 46.1
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.3631,
"command_and_miss": 0.2129,
"regression_edge": 0.2571,
"xwoba_edge": 0.2,
"barrel_edge": 0.1333,
"hard_hit_edge": 0.9286,
"whiff_edge": 0.4143,
"bb_edge": -0.85,
"pitch_design_score": -0.0071
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670990",
"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": 89.56044801189474,
"release_spin_rate": 2448.0613800974015,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.56044801189474,
"release_spin_rate": 2448.0613800974015,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5604,
"release_spin_rate": 2448.0614,
"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.0071,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0509,
"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.1362,
"sample_weight": 0.48,
"run_prevention_factor": 0.9884,
"strikeout_factor": 1.0181,
"walk_factor": 1.0326,
"homer_factor": 0.9742,
"woba_minus_xwoba": 0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670990",
"espn_id": 41893,
"player_name": "Yohan Ramirez",
"team": "PIT",
"role": "pitcher",
"espn_rank": 143,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 143,
"gp_value": 24.0,
"gp_rank": 41,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.7472,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 3.0,
"hld_rank": 113,
"ip_value": 30.1,
"ip_rank": 163,
"h_value": 27.0,
"h_rank": 159,
"er_value": 16.0,
"er_rank": 137,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 17.0,
"bb_rank": 92,
"k_value": 35.0,
"k_rank": 129,
"k_per_9_value": 10.384615,
"k_per_9_rank": 21,
"whip_value": 1.4505,
"whip_rank": null,
"war_value": 0.57,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9944,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9944,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0156,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9876,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0087,
"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": 12,
"H": 14,
"BB": 7,
"SO": 13,
"HR": 2,
"ERA": 10.124999999999998,
"WHIP": 1.9687499999999998,
"K9": 10.968749999999998,
"HR9": 1.6874999999999998,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "670990",
"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": 89.56044801189474,
"release_spin_rate": 2448.0613800974015,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 89.56044801189474,
"release_spin_rate": 2448.0613800974015,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5604,
"release_spin_rate": 2448.0614,
"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.0071,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0509,
"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.983,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5448,
"prior_weight": 0.4552
},
"role": "pitcher",
"player_id": "670990",
"report_date": "20260528_C",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 7.0,
"BB": 2.0,
"SO": 5.0,
"HR": 2.0,
"BF": 23.0,
"Pitches": 92.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.4,
"BB": 0.4,
"SO": 1.0,
"HR": 0.4,
"BF": 4.6,
"Pitches": 18.4
},
"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.15385,
"HR_per_IP": 0.46154
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.2,
"ER": 12.0,
"R": 13.0,
"H": 14.0,
"BB": 7.0,
"SO": 13.0,
"HR": 2.0,
"BF": 57.0,
"Pitches": 194.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.3,
"H": 1.4,
"BB": 0.7,
"SO": 1.3,
"HR": 0.2,
"BF": 5.7,
"Pitches": 19.4
},
"rates": {
"ERA": 10.125,
"WHIP": 1.9688,
"ER_per_IP": 1.125,
"H_per_IP": 1.3125,
"BB_per_IP": 0.65625,
"SO_per_IP": 1.21875,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 24,
"totals": {
"IP": 30.1,
"ER": 16.0,
"R": 19.0,
"H": 27.0,
"BB": 17.0,
"SO": 35.0,
"HR": 3.0,
"BF": 138.0,
"Pitches": 497.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6667,
"R": 0.7917,
"H": 1.125,
"BB": 0.7083,
"SO": 1.4583,
"HR": 0.125,
"BF": 5.75,
"Pitches": 20.7083
},
"rates": {
"ERA": 4.7473,
"WHIP": 1.4505,
"ER_per_IP": 0.52747,
"H_per_IP": 0.89011,
"BB_per_IP": 0.56044,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.0989
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.797,
"predicted_H": 1.215,
"predicted_BB": 0.484,
"predicted_SO": 1.11,
"predicted_HR": 0.227,
"predicted_ERA": 6.9244,
"predicted_WHIP": 1.6399
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5423,
"form_weight": 0.4577,
"form_reliability": 0.5448,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.983,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5448,
"prior_weight": 0.4552
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 0.797,
"final": 1.9917,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 1.215,
"final": 2.7254,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.484,
"final": 0.7638,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.11,
"final": 0.508,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.227,
"final": 0.1039,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.9244,
"final": 6.9244,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.6399,
"final": 1.6399,
"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 | 1.000 | Hitting_2B | 0.200 | 1.000 | -0.200 | -1.000 |
| predicted_3B | 0.043 | 0.000 | 0.000 | Hitting_3B | 0.043 | 0.000 | -0.043 | 0.000 |
| predicted_AB | 3.930 | 4.000 | 9.000 | Hitting_AB | 3.660 | 4.000 | 0.340 | 0.000 |
| predicted_AVG | 0.261 | 0.500 | 0.333 | Hitting_AVG | 0.274 | 0.750 | 0.226 | -0.250 |
| predicted_BB | 0.702 | 0.000 | 1.000 | Hitting_BB | 0.702 | 0.000 | -0.702 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.030 | 2.000 | 3.000 | Hitting_H | 1.004 | 3.000 | 0.996 | -1.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.374 | 0.500 | 0.400 | Hitting_OBP | 0.398 | 0.750 | 0.102 | -0.250 |
| predicted_R | 0.655 | 0.000 | 2.000 | Hitting_R | 0.655 | 0.000 | -0.655 | 0.000 |
| predicted_RBI | 0.580 | 0.000 | 2.000 | Hitting_RBI | 0.630 | 0.000 | -0.630 | 0.000 |
| predicted_SLG | 0.429 | 0.500 | 0.444 | Hitting_SLG | 0.415 | 1.000 | 0.085 | -0.500 |
| predicted_SO | 1.004 | 1.000 | 2.000 | Hitting_SO | 1.004 | 0.000 | -0.004 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_H: 1.0300 -> 2.0000 (boost 0.9700, better) |
| Biggest Deboost | predicted_BB: 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: 3.9300 -> 8.5335 (boost 4.6035, 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_H: 2.6962 -> 2.7695 (boost 0.0733, 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 | 4 | 4 | predicted_RBI: 1.4306 -> 2.0000 (boost 0.5694, better) | predicted_BB: 1.3997 -> 1.0000 (deboost -0.3997, worse) | AB rounded to 9 (raw=8.53), rates preserved: AVG=0.325 HR/AB=0.020 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.421) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5109 -> 2.0000 (boost 0.4891, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3245 -> 0.3330 (boost 0.0085, better) | predicted_SLG: 0.4861 -> 0.4440 (deboost -0.0421, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 0 | 7 | 1 | 6 | - | 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.4440 -> 0.4861 (boost 0.0421, better) | predicted_AVG: 0.3330 -> 0.3245 (deboost -0.0085, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668804",
"player_name": "Bryan Reynolds",
"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.2,
"predicted_3B": 0.043,
"predicted_AB": 3.93,
"predicted_AVG": 0.261,
"predicted_BB": 0.702,
"predicted_H": 1.03,
"predicted_HR": 0.09,
"predicted_OBP": 0.374,
"predicted_R": 0.655,
"predicted_RBI": 0.58,
"predicted_SLG": 0.429,
"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.709,
"predicted_3B": 0.0845,
"predicted_AB": 8.5335,
"predicted_AVG": 0.2935,
"predicted_BB": 1.3908,
"predicted_H": 2.6962,
"predicted_HBP": 0.206,
"predicted_HR": 0.1638,
"predicted_OBP": 0.4016,
"predicted_R": 1.4446,
"predicted_RBI": 1.3678,
"predicted_SLG": 0.4611,
"predicted_SO": 2.026
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2,
"after": 0.709,
"delta": 0.509,
"percent_delta": 2.545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.043,
"after": 0.0845,
"delta": 0.0415,
"percent_delta": 0.9651,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 8.5335,
"delta": 4.6035,
"percent_delta": 1.1714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2935,
"delta": 0.0325,
"percent_delta": 0.1245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.702,
"after": 1.3908,
"delta": 0.6888,
"percent_delta": 0.9812,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.6962,
"delta": 1.6662,
"percent_delta": 1.6177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.1638,
"delta": 0.0738,
"percent_delta": 0.82,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.374,
"after": 0.4016,
"delta": 0.0276,
"percent_delta": 0.0738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 1.4446,
"delta": 0.7896,
"percent_delta": 1.2055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.58,
"after": 1.3678,
"delta": 0.7878,
"percent_delta": 1.3583,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4611,
"delta": 0.0321,
"percent_delta": 0.0748,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.004,
"after": 2.026,
"delta": 1.022,
"percent_delta": 1.0179,
"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.93,
"after": 8.5335,
"delta": 4.6035,
"percent_delta": 1.1714,
"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": 3,
"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.709,
"predicted_3B": 0.0845,
"predicted_AB": 8.5335,
"predicted_AVG": 0.3245,
"predicted_BB": 1.3997,
"predicted_H": 2.7695,
"predicted_HBP": 0.206,
"predicted_HR": 0.1669,
"predicted_OBP": 0.4197,
"predicted_R": 1.5109,
"predicted_RBI": 1.4306,
"predicted_SLG": 0.4861,
"predicted_SO": 2.013
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.709,
"after": 0.709,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0845,
"after": 0.0845,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5335,
"after": 8.5335,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2935,
"after": 0.3245,
"delta": 0.031,
"percent_delta": 0.1056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3908,
"after": 1.3997,
"delta": 0.0089,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.6962,
"after": 2.7695,
"delta": 0.0733,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1638,
"after": 0.1669,
"delta": 0.0031,
"percent_delta": 0.0189,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4016,
"after": 0.4197,
"delta": 0.0181,
"percent_delta": 0.0451,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4446,
"after": 1.5109,
"delta": 0.0663,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3678,
"after": 1.4306,
"delta": 0.0628,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4611,
"after": 0.4861,
"delta": 0.025,
"percent_delta": 0.0542,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.026,
"after": 2.013,
"delta": -0.013,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 6,
"deboosted_metrics": 0,
"better_metrics": 6,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.6962,
"after": 2.7695,
"delta": 0.0733,
"percent_delta": 0.0272,
"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.53), rates preserved: AVG=0.325 HR/AB=0.020",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.709,
"after": 1.0,
"delta": 0.291,
"percent_delta": 0.4104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0845,
"after": 0.0,
"delta": -0.0845,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.5335,
"after": 9.0,
"delta": 0.4665,
"percent_delta": 0.0547,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3997,
"after": 1.0,
"delta": -0.3997,
"percent_delta": -0.2856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.7695,
"after": 3.0,
"delta": 0.2305,
"percent_delta": 0.0832,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1669,
"after": 0.0,
"delta": -0.1669,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4306,
"after": 2.0,
"delta": 0.5694,
"percent_delta": 0.398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.013,
"after": 2.0,
"delta": -0.013,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 4,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.4306,
"after": 2.0,
"delta": 0.5694,
"percent_delta": 0.398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.3997,
"after": 1.0,
"delta": -0.3997,
"percent_delta": -0.2856,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.421)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.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": 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_RBI",
"before": 2.0,
"after": 2.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.8449,
"bvp": 0.1551
},
"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": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.5109,
"after": 2.0,
"delta": 0.4891,
"percent_delta": 0.3237,
"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.5109,
"after": 2.0,
"delta": 0.4891,
"percent_delta": 0.3237,
"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.333,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.444,
"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.3245,
"after": 0.333,
"delta": 0.0085,
"percent_delta": 0.0262,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4197,
"after": 0.4,
"delta": -0.0197,
"percent_delta": -0.0469,
"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.4861,
"after": 0.444,
"delta": -0.0421,
"percent_delta": -0.0866,
"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.3245,
"after": 0.333,
"delta": 0.0085,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4861,
"after": 0.444,
"delta": -0.0421,
"percent_delta": -0.0866,
"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": 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": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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": 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": 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.3245,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.4197,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4861,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3245,
"delta": -0.0085,
"percent_delta": -0.0254,
"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.4,
"after": 0.4197,
"delta": 0.0197,
"percent_delta": 0.0493,
"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.444,
"after": 0.4861,
"delta": 0.0421,
"percent_delta": 0.0948,
"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.444,
"after": 0.4861,
"delta": 0.0421,
"percent_delta": 0.0948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3245,
"delta": -0.0085,
"percent_delta": -0.0254,
"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.043,
"after": 0.0,
"delta": -0.043,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.3245,
"delta": 0.0635,
"percent_delta": 0.2433,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.702,
"after": 0.0,
"delta": -0.702,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"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.374,
"after": 0.4197,
"delta": 0.0457,
"percent_delta": 0.1222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.655,
"after": 0.0,
"delta": -0.655,
"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.429,
"after": 0.4861,
"delta": 0.0571,
"percent_delta": 0.1331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.004,
"after": 1.0,
"delta": -0.004,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.03,
"after": 2.0,
"delta": 0.97,
"percent_delta": 0.9417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"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": "neutral"
}
}
}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.043 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.702 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.374 | - |
| predicted_R | 0.655 | - |
| predicted_RBI | 0.580 | - |
| predicted_SLG | 0.429 | - |
| 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.709 | 0.509 |
| predicted_3B | 0.085 | 0.042 |
| predicted_AB | 8.534 | 4.604 |
| predicted_AVG | 0.293 | 0.032 |
| predicted_BB | 1.391 | 0.689 |
| predicted_H | 2.696 | 1.666 |
| predicted_HBP | 0.206 | - |
| predicted_HR | 0.164 | 0.074 |
| predicted_OBP | 0.402 | 0.028 |
| predicted_R | 1.445 | 0.790 |
| predicted_RBI | 1.368 | 0.788 |
| predicted_SLG | 0.461 | 0.032 |
| predicted_SO | 2.026 | 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.709 | 0.000 |
| predicted_3B | 0.085 | 0.000 |
| predicted_AB | 8.534 | 0.000 |
| predicted_AVG | 0.325 | 0.031 |
| predicted_BB | 1.400 | 0.009 |
| predicted_H | 2.769 | 0.073 |
| predicted_HBP | 0.206 | 0.000 |
| predicted_HR | 0.167 | 0.003 |
| predicted_OBP | 0.420 | 0.018 |
| predicted_R | 1.511 | 0.066 |
| predicted_RBI | 1.431 | 0.063 |
| predicted_SLG | 0.486 | 0.025 |
| predicted_SO | 2.013 | -0.013 |
AB rounded to 9 (raw=8.53), rates preserved: AVG=0.325 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=19.0, weight=0.155, BvP AVG=0.421)
| 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 | 3.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 2.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 | 3.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.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.291 |
| predicted_3B | 0.000 | -0.085 |
| predicted_AB | 9.000 | 0.466 |
| predicted_AVG | 0.333 | 0.009 |
| predicted_BB | 1.000 | -0.400 |
| predicted_H | 3.000 | 0.231 |
| predicted_HR | 0.000 | -0.167 |
| predicted_OBP | 0.400 | -0.020 |
| predicted_R | 2.000 | 0.489 |
| predicted_RBI | 2.000 | 0.569 |
| predicted_SLG | 0.444 | -0.042 |
| predicted_SO | 2.000 | -0.013 |
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 | -5.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 | 0.000 | -2.000 |
| RBI | 0.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 | 14.000 | 6.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 0.000 | 0.7000 | 0.7000 | 1.0000 | 0.7000 | 0.0000 | 0.1000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 40.000 | 22.000 | 12.000 | 0.000 | 0.000 | 8.000 | 8.000 | 0.000 | 2.000 | 0.5500 | 0.5500 | 0.8500 | 0.5500 | 0.0000 | 0.2000 | 0.0000 | 0.0500 |
| season | 0.60 | 56 | - | 860.000 | 236.000 | 47.000 | 10.000 | 18.000 | 148.000 | 154.000 | 165.000 | 236.000 | 0.2744 | 0.3981 | 0.4151 | 0.2744 | 0.0209 | 0.1721 | 0.1919 | 0.2744 |
| Metric | Value |
|---|---|
| predicted_2B | 1.3520 |
| predicted_3B | 0.1370 |
| predicted_AB | 14.3490 |
| predicted_AVG | 0.3346 |
| predicted_BB | 2.2610 |
| predicted_H | 4.8010 |
| predicted_HBP | 0.2060 |
| predicted_HR | 0.2570 |
| predicted_OBP | 0.4365 |
| predicted_R | 2.4420 |
| predicted_RBI | 2.3630 |
| predicted_SLG | 0.5016 |
| predicted_SO | 3.3170 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2000 | 1.3520 | 0.7090 | model_form_blend |
| predicted_3B | 0.0430 | 0.1370 | 0.0845 | model_form_blend |
| predicted_AB | 3.9300 | 14.3490 | 8.5335 | model_form_blend |
| predicted_AVG | 0.2610 | 0.3346 | 0.2935 | model_form_blend |
| predicted_BB | 0.7020 | 2.2610 | 1.3908 | model_form_blend |
| predicted_H | 1.0300 | 4.8010 | 2.6962 | model_form_blend |
| predicted_HBP | - | 0.2060 | 0.2060 | form_only |
| predicted_HR | 0.0900 | 0.2570 | 0.1638 | model_form_blend |
| predicted_OBP | 0.3740 | 0.4365 | 0.4016 | model_form_blend |
| predicted_R | 0.6550 | 2.4420 | 1.4446 | model_form_blend |
| predicted_RBI | 0.5800 | 2.3630 | 1.3678 | model_form_blend |
| predicted_SLG | 0.4290 | 0.5016 | 0.4611 | model_form_blend |
| predicted_SO | 1.0040 | 3.3170 | 2.0260 | 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 | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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 | 1 |
| 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 | 0 |
| Hitting_RBI | 0 |
| 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 | LF |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 668804 |
| playerID | 668804 |
| playerName | Bryan Reynolds |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 22.6 |
| sl_bb_percent | 15.3 |
| sl_woba | 0.348 |
| sl_xwoba | 0.348 |
| sl_xba | 0.252 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 30.8 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 43.4 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 3.8 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 44.3 |
| at_bat_number | 76.0 |
| ab_pitcher | 573204.0 |
| ab_pitcher_name | Thielbar, Caleb |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | single |
| ab_event_description | Bryan Reynolds singles on a ground ball to right fielder Seiya Suzuki. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 106.4 |
| ab_launch_angle_last | 3.0 |
| ab_hit_distance_last | 122.0 |
| ab_estimated_ba_last | 0.549 |
| ab_estimated_woba_last | 0.508 |
| ab_estimated_slg_last | 0.605 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 93.2 |
| ab_release_spin_rate_avg | 2351.5 |
| ab_effective_speed_avg | 92.75 |
| ab_launch_speed_avg | 106.4 |
| ab_launch_angle_avg | 3.0 |
| ab_delta_run_exp_avg | 0.2019999999999999 |
| ab_delta_home_win_exp_avg | 0.002 |
| ab_delta_pitcher_run_exp_avg | -0.2019999999999999 |
| ab_bat_speed_avg | 71.8 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 106.4 |
| ab_hit_distance_sc_max | 122.0 |
| ab_release_speed_max | 93.3 |
| ab_release_spin_rate_max | 2360.0 |
| ab_release_speed_min | 93.1 |
| ab_release_spin_rate_min | 2343.0 |
| ab_delta_run_exp_sum | 0.4039999999999999 |
| ab_delta_home_win_exp_sum | 0.004 |
| ab_delta_pitcher_run_exp_sum | -0.4039999999999999 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.203 | 1.000 | 0.000 | Hitting_2B | 0.202 | 0.000 | 0.798 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.030 | 3.000 | 9.000 | Hitting_AB | 4.010 | 4.000 | -1.010 | -1.000 |
| predicted_AVG | 0.242 | 0.667 | 0.333 | Hitting_AVG | 0.306 | 0.000 | 0.361 | 0.667 |
| predicted_BB | 0.274 | 1.000 | 1.000 | Hitting_BB | 0.278 | 0.000 | 0.722 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.051 | 0.000 | -0.051 | 0.000 |
| predicted_H | 0.960 | 2.000 | 3.000 | Hitting_H | 1.227 | 0.000 | 0.773 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.291 | 0.750 | 0.400 | Hitting_OBP | 0.360 | 0.000 | 0.390 | 0.750 |
| predicted_R | 0.518 | 1.000 | 1.000 | Hitting_R | 0.515 | 0.000 | 0.485 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.475 | 0.000 | -0.475 | 0.000 |
| predicted_SLG | 0.345 | 1.000 | 0.333 | Hitting_SLG | 0.356 | 0.000 | 0.644 | 1.000 |
| predicted_SO | 0.812 | 0.000 | 2.000 | Hitting_SO | 0.808 | 1.000 | -0.808 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_H: 0.9600 -> 2.0000 (boost 1.0400, 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 4.0300 -> 8.9072 (boost 4.8772, 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.3799 -> 2.4446 (boost 0.0647, 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_BB: 0.5384 -> 1.0000 (boost 0.4616, better) | predicted_2B: 0.4680 -> 0.0000 (deboost -0.4680, worse) | AB rounded to 9 (raw=8.91), rates preserved: AVG=0.274 HR/AB=0.004 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2070 -> 1.0000 (deboost -0.2070, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3158 -> 0.4000 (boost 0.0842, better) | predicted_SLG: 0.3394 -> 0.3330 (deboost -0.0064, 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: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.3394 (boost 0.0064, better) | predicted_OBP: 0.4000 -> 0.3158 (deboost -0.0842, worse) | 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.203,
"predicted_3B": 0.0,
"predicted_AB": 4.03,
"predicted_AVG": 0.242,
"predicted_BB": 0.274,
"predicted_H": 0.96,
"predicted_HR": 0.05,
"predicted_OBP": 0.291,
"predicted_R": 0.518,
"predicted_RBI": 0.41,
"predicted_SLG": 0.345,
"predicted_SO": 0.812
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.468,
"predicted_3B": 0.0009,
"predicted_AB": 8.9072,
"predicted_AVG": 0.2574,
"predicted_BB": 0.535,
"predicted_H": 2.3799,
"predicted_HBP": 0.189,
"predicted_HR": 0.0355,
"predicted_OBP": 0.3045,
"predicted_R": 1.154,
"predicted_RBI": 0.9668,
"predicted_SLG": 0.3402,
"predicted_SO": 1.8327
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.468,
"delta": 0.265,
"percent_delta": 1.3054,
"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.03,
"after": 8.9072,
"delta": 4.8772,
"percent_delta": 1.2102,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2574,
"delta": 0.0154,
"percent_delta": 0.0636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.274,
"after": 0.535,
"delta": 0.261,
"percent_delta": 0.9526,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 2.3799,
"delta": 1.4199,
"percent_delta": 1.4791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0355,
"delta": -0.0145,
"percent_delta": -0.29,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.291,
"after": 0.3045,
"delta": 0.0135,
"percent_delta": 0.0464,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 1.154,
"delta": 0.636,
"percent_delta": 1.2278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.9668,
"delta": 0.5568,
"percent_delta": 1.358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.345,
"after": 0.3402,
"delta": -0.0048,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 1.8327,
"delta": 1.0207,
"percent_delta": 1.257,
"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.03,
"after": 8.9072,
"delta": 4.8772,
"percent_delta": 1.2102,
"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": 3,
"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.468,
"predicted_3B": 0.0009,
"predicted_AB": 8.9072,
"predicted_AVG": 0.2745,
"predicted_BB": 0.5384,
"predicted_H": 2.4446,
"predicted_HBP": 0.189,
"predicted_HR": 0.0362,
"predicted_OBP": 0.3158,
"predicted_R": 1.207,
"predicted_RBI": 1.0112,
"predicted_SLG": 0.3394,
"predicted_SO": 1.821
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.468,
"after": 0.468,
"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.9072,
"after": 8.9072,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2574,
"after": 0.2745,
"delta": 0.0171,
"percent_delta": 0.0664,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.535,
"after": 0.5384,
"delta": 0.0034,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3799,
"after": 2.4446,
"delta": 0.0647,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.189,
"after": 0.189,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0355,
"after": 0.0362,
"delta": 0.0007,
"percent_delta": 0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3045,
"after": 0.3158,
"delta": 0.0113,
"percent_delta": 0.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.154,
"after": 1.207,
"delta": 0.053,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9668,
"after": 1.0112,
"delta": 0.0444,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3402,
"after": 0.3394,
"delta": -0.0008,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8327,
"after": 1.821,
"delta": -0.0117,
"percent_delta": -0.0064,
"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.3799,
"after": 2.4446,
"delta": 0.0647,
"percent_delta": 0.0272,
"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.91), rates preserved: AVG=0.274 HR/AB=0.004",
"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.468,
"after": 0.0,
"delta": -0.468,
"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.9072,
"after": 9.0,
"delta": 0.0928,
"percent_delta": 0.0104,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5384,
"after": 1.0,
"delta": 0.4616,
"percent_delta": 0.8574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4446,
"after": 2.0,
"delta": -0.4446,
"percent_delta": -0.1819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.189,
"after": 0.0,
"delta": -0.189,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0362,
"after": 0.0,
"delta": -0.0362,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0112,
"after": 1.0,
"delta": -0.0112,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.821,
"after": 2.0,
"delta": 0.179,
"percent_delta": 0.0983,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.5384,
"after": 1.0,
"delta": 0.4616,
"percent_delta": 0.8574,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.468,
"after": 0.0,
"delta": -0.468,
"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.417)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 3.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": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"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": 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_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 9.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.207,
"after": 1.0,
"delta": -0.207,
"percent_delta": -0.1715,
"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.207,
"after": 1.0,
"delta": -0.207,
"percent_delta": -0.1715,
"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.333,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"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": 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.2745,
"after": 0.333,
"delta": 0.0585,
"percent_delta": 0.2131,
"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": 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.4,
"delta": 0.0842,
"percent_delta": 0.2666,
"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.3394,
"after": 0.333,
"delta": -0.0064,
"percent_delta": -0.0189,
"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.3158,
"after": 0.4,
"delta": 0.0842,
"percent_delta": 0.2666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3394,
"after": 0.333,
"delta": -0.0064,
"percent_delta": -0.0189,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2745,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3158,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3394,
"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.333,
"after": 0.2745,
"delta": -0.0585,
"percent_delta": -0.1758,
"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.4,
"after": 0.3158,
"delta": -0.0842,
"percent_delta": -0.2105,
"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.3394,
"delta": 0.0064,
"percent_delta": 0.0192,
"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.3394,
"delta": 0.0064,
"percent_delta": 0.0192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3158,
"delta": -0.0842,
"percent_delta": -0.2105,
"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.203,
"after": 1.0,
"delta": 0.797,
"percent_delta": 3.9261,
"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.03,
"after": 3.0,
"delta": -1.03,
"percent_delta": -0.2556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2745,
"delta": 0.0325,
"percent_delta": 0.1343,
"direction": "boost",
"projection_effect": "better",
"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.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"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.291,
"after": 0.3158,
"delta": 0.0248,
"percent_delta": 0.0852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.518,
"after": 1.0,
"delta": 0.482,
"percent_delta": 0.9305,
"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.345,
"after": 0.3394,
"delta": -0.0056,
"percent_delta": -0.0162,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.812,
"after": 0.0,
"delta": -0.812,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.96,
"after": 2.0,
"delta": 1.04,
"percent_delta": 1.0833,
"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.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.030 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.274 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.291 | - |
| predicted_R | 0.518 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.345 | - |
| predicted_SO | 0.812 | - |
Final model 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.468 | 0.265 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.907 | 4.877 |
| predicted_AVG | 0.257 | 0.015 |
| predicted_BB | 0.535 | 0.261 |
| predicted_H | 2.380 | 1.420 |
| predicted_HBP | 0.189 | - |
| predicted_HR | 0.035 | -0.015 |
| predicted_OBP | 0.304 | 0.014 |
| predicted_R | 1.154 | 0.636 |
| predicted_RBI | 0.967 | 0.557 |
| predicted_SLG | 0.340 | -0.005 |
| predicted_SO | 1.833 | 1.021 |
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.468 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.907 | 0.000 |
| predicted_AVG | 0.275 | 0.017 |
| predicted_BB | 0.538 | 0.003 |
| predicted_H | 2.445 | 0.065 |
| predicted_HBP | 0.189 | 0.000 |
| predicted_HR | 0.036 | 0.001 |
| predicted_OBP | 0.316 | 0.011 |
| predicted_R | 1.207 | 0.053 |
| predicted_RBI | 1.011 | 0.044 |
| predicted_SLG | 0.339 | -0.001 |
| predicted_SO | 1.821 | -0.012 |
AB rounded to 9 (raw=8.91), rates preserved: AVG=0.274 HR/AB=0.004
| 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 | - |
Sample-size BvP blend (BvP AB=12.0, weight=0.114, BvP AVG=0.417)
| 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 | 3.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 | 9.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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.468 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | 0.093 |
| predicted_AVG | 0.333 | 0.058 |
| predicted_BB | 1.000 | 0.462 |
| predicted_H | 3.000 | 0.555 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.400 | 0.084 |
| predicted_R | 1.000 | -0.207 |
| predicted_RBI | 1.000 | -0.011 |
| predicted_SLG | 0.333 | -0.006 |
| predicted_SO | 2.000 | 0.179 |
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 | -6.000 |
| BB | 1.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 | -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 | 2 | - | 21.000 | 2.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 0.000 | 5.000 | 0.0952 | 0.0952 | 0.1429 | 0.0952 | 0.0000 | 0.0476 | 0.0000 | 0.2381 |
| last_10 | 0.20 | 3 | - | 45.000 | 10.000 | 5.000 | 0.000 | 0.000 | 5.000 | 10.000 | 0.000 | 10.000 | 0.2222 | 0.2222 | 0.3333 | 0.2222 | 0.0000 | 0.1111 | 0.0000 | 0.2222 |
| season | 0.60 | 49 | - | 794.000 | 243.000 | 40.000 | 0.000 | 0.000 | 94.000 | 102.000 | 54.000 | 160.000 | 0.3060 | 0.3589 | 0.3564 | 0.3060 | 0.0000 | 0.1184 | 0.0680 | 0.2015 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8050 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.1110 |
| predicted_AVG | 0.2770 |
| predicted_BB | 0.8670 |
| predicted_H | 4.1860 |
| predicted_HBP | 0.1890 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.3217 |
| predicted_R | 1.9630 |
| predicted_RBI | 1.6750 |
| predicted_SLG | 0.3340 |
| predicted_SO | 3.1310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.8050 | 0.4680 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0300 | 15.1110 | 8.9072 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2770 | 0.2574 | model_form_blend |
| predicted_BB | 0.2740 | 0.8670 | 0.5350 | model_form_blend |
| predicted_H | 0.9600 | 4.1860 | 2.3799 | model_form_blend |
| predicted_HBP | - | 0.1890 | 0.1890 | form_only |
| predicted_HR | 0.0500 | 0.0170 | 0.0355 | model_form_blend |
| predicted_OBP | 0.2910 | 0.3217 | 0.3045 | model_form_blend |
| predicted_R | 0.5180 | 1.9630 | 1.1540 | model_form_blend |
| predicted_RBI | 0.4100 | 1.6750 | 0.9668 | model_form_blend |
| predicted_SLG | 0.3450 | 0.3340 | 0.3402 | model_form_blend |
| predicted_SO | 0.8120 | 3.1310 | 1.8327 | 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 | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.306 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 3B |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 693304 |
| playerID | 693304 |
| playerName | Nick Gonzales |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 17.7 |
| sl_bb_percent | 6.6 |
| sl_woba | 0.324 |
| sl_xwoba | 0.334 |
| sl_xba | 0.304 |
| sl_xslg | 0.393 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 39.5 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 6.8 |
| sl_whiff_percent | 23.2 |
| sl_swing_percent | 54.3 |
| at_bat_number | 77.0 |
| ab_pitcher | 573204.0 |
| ab_pitcher_name | Thielbar, Caleb |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 668804.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | force_out |
| ab_event_description | Nick Gonzales grounds into a force out, pitcher Caleb Thielbar to second baseman Nico Hoerner. Bryan Reynolds out at 2nd. Nick Gonzales to 1st. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 1.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 47.1 |
| ab_launch_angle_last | -73.0 |
| ab_hit_distance_last | 1.0 |
| ab_estimated_ba_last | 0.219 |
| ab_estimated_woba_last | 0.197 |
| ab_estimated_slg_last | 0.222 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 86.78 |
| ab_release_spin_rate_avg | 2411.6 |
| ab_effective_speed_avg | 86.64 |
| ab_launch_speed_avg | 66.06666666666668 |
| ab_launch_angle_avg | -42.66666666666666 |
| ab_delta_run_exp_avg | -0.062 |
| ab_delta_home_win_exp_avg | -0.001 |
| ab_delta_pitcher_run_exp_avg | 0.062 |
| ab_bat_speed_avg | 66.96666666666665 |
| ab_swing_length_avg | 7.266666666666667 |
| ab_launch_speed_max | 79.4 |
| ab_hit_distance_sc_max | 5.0 |
| ab_release_speed_max | 94.1 |
| ab_release_spin_rate_max | 2631.0 |
| ab_release_speed_min | 76.2 |
| ab_release_spin_rate_min | 2253.0 |
| ab_delta_run_exp_sum | -0.31 |
| ab_delta_home_win_exp_sum | -0.005 |
| ab_delta_pitcher_run_exp_sum | 0.31 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.190 | 0.000 | 0.000 | Hitting_2B | 0.190 | 0.000 | -0.190 | 0.000 |
| predicted_3B | 0.022 | 0.000 | 0.000 | Hitting_3B | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_AB | 3.510 | 4.000 | 7.000 | Hitting_AB | 3.326 | 4.000 | 0.674 | 0.000 |
| predicted_AVG | 0.269 | 0.250 | 0.286 | Hitting_AVG | 0.296 | 0.250 | -0.046 | 0.000 |
| predicted_BB | 0.636 | 0.000 | 1.000 | Hitting_BB | 0.636 | 0.000 | -0.636 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.940 | 1.000 | 2.000 | Hitting_H | 0.984 | 1.000 | 0.016 | 0.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.114 | 0.000 | -0.114 | 0.000 |
| predicted_OBP | 0.370 | 0.250 | 0.375 | Hitting_OBP | 0.406 | 0.250 | -0.156 | 0.000 |
| predicted_R | 0.435 | 0.000 | 1.000 | Hitting_R | 0.435 | 1.000 | -0.435 | -1.000 |
| predicted_RBI | 0.520 | 0.000 | 1.000 | Hitting_RBI | 0.571 | 0.000 | -0.571 | 0.000 |
| predicted_SLG | 0.471 | 0.250 | 0.286 | Hitting_SLG | 0.469 | 0.250 | -0.219 | 0.000 |
| predicted_SO | 0.489 | 1.000 | 1.000 | Hitting_SO | 0.489 | 0.000 | 0.511 | 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_SO: 0.4890 -> 1.0000 (boost 0.5110, worse) |
| Biggest Deboost | predicted_BB: 0.6360 -> 0.0000 (deboost -0.6360, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.5100 -> 6.9653 (boost 3.4553, 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.0536 -> 2.1095 (boost 0.0559, 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 | 0 | 7 | predicted_SO: 0.8996 -> 1.0000 (boost 0.1004, worse) | predicted_2B: 0.3449 -> 0.0000 (deboost -0.3449, worse) | AB rounded to 7 (raw=6.97), rates preserved: AVG=0.303 HR/AB=0.044 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.333) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0571 -> 1.0000 (deboost -0.0571, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4946 -> 0.2860 (deboost -0.2086, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | 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 |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2860 -> 0.4946 (boost 0.2086, better) | - | 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.19,
"predicted_3B": 0.022,
"predicted_AB": 3.51,
"predicted_AVG": 0.269,
"predicted_BB": 0.636,
"predicted_H": 0.94,
"predicted_HR": 0.17,
"predicted_OBP": 0.37,
"predicted_R": 0.435,
"predicted_RBI": 0.52,
"predicted_SLG": 0.471,
"predicted_SO": 0.489
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3449,
"predicted_3B": 0.0391,
"predicted_AB": 6.9653,
"predicted_AVG": 0.285,
"predicted_BB": 1.1529,
"predicted_H": 2.0536,
"predicted_HBP": 0.108,
"predicted_HR": 0.2986,
"predicted_OBP": 0.3814,
"predicted_R": 1.0107,
"predicted_RBI": 1.1229,
"predicted_SLG": 0.4776,
"predicted_SO": 0.9054
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.19,
"after": 0.3449,
"delta": 0.1549,
"percent_delta": 0.8153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.022,
"after": 0.0391,
"delta": 0.0171,
"percent_delta": 0.7773,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.51,
"after": 6.9653,
"delta": 3.4553,
"percent_delta": 0.9844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.285,
"delta": 0.016,
"percent_delta": 0.0595,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.636,
"after": 1.1529,
"delta": 0.5169,
"percent_delta": 0.8127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 2.0536,
"delta": 1.1136,
"percent_delta": 1.1847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.2986,
"delta": 0.1286,
"percent_delta": 0.7565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.37,
"after": 0.3814,
"delta": 0.0114,
"percent_delta": 0.0308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 1.0107,
"delta": 0.5757,
"percent_delta": 1.3234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.52,
"after": 1.1229,
"delta": 0.6029,
"percent_delta": 1.1594,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.471,
"after": 0.4776,
"delta": 0.0066,
"percent_delta": 0.014,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.489,
"after": 0.9054,
"delta": 0.4164,
"percent_delta": 0.8515,
"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.51,
"after": 6.9653,
"delta": 3.4553,
"percent_delta": 0.9844,
"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": 3,
"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.3449,
"predicted_3B": 0.0391,
"predicted_AB": 6.9653,
"predicted_AVG": 0.3029,
"predicted_BB": 1.1603,
"predicted_H": 2.1095,
"predicted_HBP": 0.108,
"predicted_HR": 0.3042,
"predicted_OBP": 0.4024,
"predicted_R": 1.0571,
"predicted_RBI": 1.1744,
"predicted_SLG": 0.4946,
"predicted_SO": 0.8996
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3449,
"after": 0.3449,
"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": 6.9653,
"after": 6.9653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.3029,
"delta": 0.0179,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1529,
"after": 1.1603,
"delta": 0.0074,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0536,
"after": 2.1095,
"delta": 0.0559,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.108,
"after": 0.108,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2986,
"after": 0.3042,
"delta": 0.0056,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3814,
"after": 0.4024,
"delta": 0.021,
"percent_delta": 0.0551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0107,
"after": 1.0571,
"delta": 0.0464,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1229,
"after": 1.1744,
"delta": 0.0515,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4776,
"after": 0.4946,
"delta": 0.017,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9054,
"after": 0.8996,
"delta": -0.0058,
"percent_delta": -0.0064,
"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.0536,
"after": 2.1095,
"delta": 0.0559,
"percent_delta": 0.0272,
"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.97), rates preserved: AVG=0.303 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.3449,
"after": 0.0,
"delta": -0.3449,
"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": 6.9653,
"after": 7.0,
"delta": 0.0347,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.1603,
"after": 1.0,
"delta": -0.1603,
"percent_delta": -0.1382,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1095,
"after": 2.0,
"delta": -0.1095,
"percent_delta": -0.0519,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.108,
"after": 0.0,
"delta": -0.108,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3042,
"after": 0.0,
"delta": -0.3042,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1744,
"after": 1.0,
"delta": -0.1744,
"percent_delta": -0.1485,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8996,
"after": 1.0,
"delta": 0.1004,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 1,
"deboosted_metrics": 6,
"better_metrics": 0,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.8996,
"after": 1.0,
"delta": 0.1004,
"percent_delta": 0.1116,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3449,
"after": 0.0,
"delta": -0.3449,
"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": 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.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": 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.0571,
"after": 1.0,
"delta": -0.0571,
"percent_delta": -0.054,
"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.0571,
"after": 1.0,
"delta": -0.0571,
"percent_delta": -0.054,
"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.3029,
"after": 0.286,
"delta": -0.0169,
"percent_delta": -0.0558,
"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.4024,
"after": 0.375,
"delta": -0.0274,
"percent_delta": -0.0681,
"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.4946,
"after": 0.286,
"delta": -0.2086,
"percent_delta": -0.4218,
"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.4946,
"after": 0.286,
"delta": -0.2086,
"percent_delta": -0.4218,
"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": 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": 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.3029,
"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.4024,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4946,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.3029,
"delta": 0.0169,
"percent_delta": 0.0589,
"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.375,
"after": 0.4024,
"delta": 0.0274,
"percent_delta": 0.0731,
"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.4946,
"delta": 0.2086,
"percent_delta": 0.7294,
"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.4946,
"delta": 0.2086,
"percent_delta": 0.7294,
"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.19,
"after": 0.0,
"delta": -0.19,
"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.51,
"after": 4.0,
"delta": 0.49,
"percent_delta": 0.1396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.3029,
"delta": 0.0339,
"percent_delta": 0.126,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.94,
"after": 1.0,
"delta": 0.06,
"percent_delta": 0.0638,
"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.37,
"after": 0.4024,
"delta": 0.0324,
"percent_delta": 0.0876,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.435,
"after": 0.0,
"delta": -0.435,
"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.471,
"after": 0.4946,
"delta": 0.0236,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"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_SO",
"before": 0.489,
"after": 1.0,
"delta": 0.511,
"percent_delta": 1.045,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.636,
"after": 0.0,
"delta": -0.636,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.190 | - |
| predicted_3B | 0.022 | - |
| predicted_AB | 3.510 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.636 | - |
| predicted_H | 0.940 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.370 | - |
| predicted_R | 0.435 | - |
| predicted_RBI | 0.520 | - |
| predicted_SLG | 0.471 | - |
| predicted_SO | 0.489 | - |
Final model 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.345 | 0.155 |
| predicted_3B | 0.039 | 0.017 |
| predicted_AB | 6.965 | 3.455 |
| predicted_AVG | 0.285 | 0.016 |
| predicted_BB | 1.153 | 0.517 |
| predicted_H | 2.054 | 1.114 |
| predicted_HBP | 0.108 | - |
| predicted_HR | 0.299 | 0.129 |
| predicted_OBP | 0.381 | 0.011 |
| predicted_R | 1.011 | 0.576 |
| predicted_RBI | 1.123 | 0.603 |
| predicted_SLG | 0.478 | 0.007 |
| predicted_SO | 0.905 | 0.416 |
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.345 | 0.000 |
| predicted_3B | 0.039 | 0.000 |
| predicted_AB | 6.965 | 0.000 |
| predicted_AVG | 0.303 | 0.018 |
| predicted_BB | 1.160 | 0.007 |
| predicted_H | 2.110 | 0.056 |
| predicted_HBP | 0.108 | 0.000 |
| predicted_HR | 0.304 | 0.006 |
| predicted_OBP | 0.402 | 0.021 |
| predicted_R | 1.057 | 0.046 |
| predicted_RBI | 1.174 | 0.052 |
| predicted_SLG | 0.495 | 0.017 |
| predicted_SO | 0.900 | -0.006 |
AB rounded to 7 (raw=6.97), rates preserved: AVG=0.303 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 | - |
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 | 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.345 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 7.000 | 0.035 |
| predicted_AVG | 0.286 | -0.017 |
| predicted_BB | 1.000 | -0.160 |
| predicted_H | 2.000 | -0.110 |
| predicted_HR | 0.000 | -0.304 |
| predicted_OBP | 0.375 | -0.027 |
| predicted_R | 1.000 | -0.057 |
| predicted_RBI | 1.000 | -0.174 |
| predicted_SLG | 0.286 | -0.209 |
| predicted_SO | 1.000 | 0.100 |
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 | 2 | - | 19.000 | 6.000 | 0.000 | 0.000 | 1.000 | 2.000 | 5.000 | 0.000 | 0.000 | 0.3158 | 0.3158 | 0.4737 | 0.3158 | 0.0526 | 0.1053 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 34.000 | 16.000 | 0.000 | 0.000 | 4.000 | 8.000 | 10.000 | 2.000 | 0.000 | 0.4706 | 0.4706 | 0.8235 | 0.4706 | 0.1177 | 0.2353 | 0.0588 | 0.0000 |
| season | 0.60 | 51 | - | 612.000 | 181.000 | 35.000 | 4.000 | 21.000 | 105.000 | 80.000 | 117.000 | 90.000 | 0.2958 | 0.4056 | 0.4690 | 0.2958 | 0.0343 | 0.1716 | 0.1912 | 0.1471 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5430 |
| predicted_3B | 0.0610 |
| predicted_AB | 11.3850 |
| predicted_AVG | 0.3055 |
| predicted_BB | 1.8140 |
| predicted_H | 3.4780 |
| predicted_HBP | 0.1080 |
| predicted_HR | 0.4630 |
| predicted_OBP | 0.3959 |
| predicted_R | 1.7470 |
| predicted_RBI | 1.8940 |
| predicted_SLG | 0.4861 |
| predicted_SO | 1.4380 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1900 | 0.5430 | 0.3449 | model_form_blend |
| predicted_3B | 0.0220 | 0.0610 | 0.0391 | model_form_blend |
| predicted_AB | 3.5100 | 11.3850 | 6.9653 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3055 | 0.2850 | model_form_blend |
| predicted_BB | 0.6360 | 1.8140 | 1.1529 | model_form_blend |
| predicted_H | 0.9400 | 3.4780 | 2.0536 | model_form_blend |
| predicted_HBP | - | 0.1080 | 0.1080 | form_only |
| predicted_HR | 0.1700 | 0.4630 | 0.2986 | model_form_blend |
| predicted_OBP | 0.3700 | 0.3959 | 0.3814 | model_form_blend |
| predicted_R | 0.4350 | 1.7470 | 1.0107 | model_form_blend |
| predicted_RBI | 0.5200 | 1.8940 | 1.1229 | model_form_blend |
| predicted_SLG | 0.4710 | 0.4861 | 0.4776 | model_form_blend |
| predicted_SO | 0.4890 | 1.4380 | 0.9054 | 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 | 184 |
| Season rows before report date | 184 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| 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 | 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 | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 1 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 687462 |
| playerID | 687462 |
| playerName | Spencer Horwitz |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 13.0 |
| sl_bb_percent | 14.1 |
| sl_woba | 0.379 |
| sl_xwoba | 0.334 |
| sl_xba | 0.236 |
| sl_xslg | 0.369 |
| sl_sweet_spot_percent | 29.5 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 86.2 |
| sl_launch_angle_avg | 14.6 |
| sl_whiff_percent | 14.4 |
| sl_swing_percent | 40.1 |
| at_bat_number | 68.0 |
| ab_pitcher | 664208.0 |
| ab_pitcher_name | Maton, Phil |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 682848.0 |
| ab_on_2b_start | 542303.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | grounded_into_double_play |
| ab_event_description | Pirates challenged (force play), call on the field was upheld: Pirates challenged (play at 1st), call on the field was upheld: Spencer Horwitz grounds into a double play, first baseman Michael Busch to shortstop Dansby Swanson to pitcher Phil Maton. Endy Rodríguez out at 2nd. Spencer Horwitz out at 1st. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 74.3 |
| ab_launch_angle_last | 8.0 |
| ab_hit_distance_last | 83.0 |
| ab_estimated_ba_last | 0.218 |
| ab_estimated_woba_last | 0.199 |
| ab_estimated_slg_last | 0.249 |
| 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 | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 82.875 |
| ab_release_spin_rate_avg | 2865.75 |
| ab_effective_speed_avg | 84.25 |
| ab_launch_speed_avg | 74.3 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | -0.07875 |
| ab_delta_home_win_exp_avg | -0.0065 |
| ab_delta_pitcher_run_exp_avg | 0.07875 |
| ab_bat_speed_avg | 72.8 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 74.3 |
| ab_hit_distance_sc_max | 83.0 |
| ab_release_speed_max | 89.8 |
| ab_release_spin_rate_max | 3164.0 |
| ab_release_speed_min | 75.2 |
| ab_release_spin_rate_min | 2556.0 |
| ab_delta_run_exp_sum | -0.315 |
| ab_delta_home_win_exp_sum | -0.026 |
| ab_delta_pitcher_run_exp_sum | 0.315 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.231 | 0.000 | 0.000 | Hitting_2B | 0.231 | 0.000 | -0.231 | 0.000 |
| predicted_3B | 0.028 | 0.000 | 0.000 | Hitting_3B | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_AB | 4.340 | 3.000 | 9.000 | Hitting_AB | 3.977 | 4.000 | -0.977 | -1.000 |
| predicted_AVG | 0.253 | 0.000 | 0.333 | Hitting_AVG | 0.276 | 0.250 | -0.276 | -0.250 |
| predicted_BB | 0.551 | 0.000 | 1.000 | Hitting_BB | 0.551 | 0.000 | -0.551 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 0.000 | 3.000 | Hitting_H | 1.097 | 1.000 | -1.097 | -1.000 |
| predicted_HR | 0.220 | 0.000 | 1.000 | Hitting_HR | 0.301 | 1.000 | -0.301 | -1.000 |
| predicted_OBP | 0.340 | 0.000 | 0.400 | Hitting_OBP | 0.366 | 0.250 | -0.366 | -0.250 |
| predicted_R | 0.731 | 1.000 | 2.000 | Hitting_R | 0.731 | 1.000 | 0.269 | 0.000 |
| predicted_RBI | 0.660 | 1.000 | 2.000 | Hitting_RBI | 0.824 | 3.000 | 0.176 | -2.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.497 | 0.000 | 0.667 | Hitting_SLG | 0.575 | 1.000 | -0.575 | -1.000 |
| predicted_SO | 1.014 | 1.000 | 2.000 | Hitting_SO | 1.014 | 1.000 | -0.014 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 10 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 5 |
| Better Metrics | 5 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_RBI: 0.6600 -> 1.0000 (boost 0.3400, better) |
| Biggest Deboost | predicted_AB: 4.3400 -> 3.0000 (deboost -1.3400, 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 -> 9.4015 (boost 5.0615, 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: 2.1480 -> 2.2466 (boost 0.0986, 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_H: 2.6697 -> 3.0000 (boost 0.3303, better) | predicted_2B: 0.4866 -> 0.0000 (deboost -0.4866, worse) | AB rounded to 9 (raw=9.40), rates preserved: AVG=0.284 HR/AB=0.081 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.8942 -> 2.0000 (boost 0.1058, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.5897 -> 0.6670 (boost 0.0773, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 8 | 1 | 7 | 1 | 6 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | predicted_AB: 9.0000 -> 3.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.6670 -> 0.5897 (deboost -0.0773, 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.231,
"predicted_3B": 0.028,
"predicted_AB": 4.34,
"predicted_AVG": 0.253,
"predicted_BB": 0.551,
"predicted_H": 1.1,
"predicted_HR": 0.22,
"predicted_OBP": 0.34,
"predicted_R": 0.731,
"predicted_RBI": 0.66,
"predicted_SLG": 0.497,
"predicted_SO": 1.014
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4866,
"predicted_3B": 0.0558,
"predicted_AB": 9.4015,
"predicted_AVG": 0.2669,
"predicted_BB": 1.1054,
"predicted_H": 2.599,
"predicted_HBP": 0.093,
"predicted_HR": 0.7448,
"predicted_OBP": 0.3483,
"predicted_R": 1.8111,
"predicted_RBI": 2.148,
"predicted_SLG": 0.5489,
"predicted_SO": 2.3325
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.4866,
"delta": 0.2556,
"percent_delta": 1.1065,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.028,
"after": 0.0558,
"delta": 0.0278,
"percent_delta": 0.9929,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.34,
"after": 9.4015,
"delta": 5.0615,
"percent_delta": 1.1662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.253,
"after": 0.2669,
"delta": 0.0139,
"percent_delta": 0.0549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.551,
"after": 1.1054,
"delta": 0.5544,
"percent_delta": 1.0062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 2.599,
"delta": 1.499,
"percent_delta": 1.3627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.7448,
"delta": 0.5248,
"percent_delta": 2.3855,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3483,
"delta": 0.0083,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.731,
"after": 1.8111,
"delta": 1.0801,
"percent_delta": 1.4776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.66,
"after": 2.148,
"delta": 1.488,
"percent_delta": 2.2545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.497,
"after": 0.5489,
"delta": 0.0519,
"percent_delta": 0.1044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.014,
"after": 2.3325,
"delta": 1.3185,
"percent_delta": 1.3003,
"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": 9.4015,
"delta": 5.0615,
"percent_delta": 1.1662,
"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": 3,
"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.4866,
"predicted_3B": 0.0558,
"predicted_AB": 9.4015,
"predicted_AVG": 0.284,
"predicted_BB": 1.1125,
"predicted_H": 2.6697,
"predicted_HBP": 0.093,
"predicted_HR": 0.7587,
"predicted_OBP": 0.3597,
"predicted_R": 1.8942,
"predicted_RBI": 2.2466,
"predicted_SLG": 0.5897,
"predicted_SO": 2.3176
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4866,
"after": 0.4866,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0558,
"after": 0.0558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.4015,
"after": 9.4015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2669,
"after": 0.284,
"delta": 0.0171,
"percent_delta": 0.0641,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1054,
"after": 1.1125,
"delta": 0.0071,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.599,
"after": 2.6697,
"delta": 0.0707,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.093,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.7448,
"after": 0.7587,
"delta": 0.0139,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3483,
"after": 0.3597,
"delta": 0.0114,
"percent_delta": 0.0327,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.8111,
"after": 1.8942,
"delta": 0.0831,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.148,
"after": 2.2466,
"delta": 0.0986,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5489,
"after": 0.5897,
"delta": 0.0408,
"percent_delta": 0.0743,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3325,
"after": 2.3176,
"delta": -0.0149,
"percent_delta": -0.0064,
"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": 2.148,
"after": 2.2466,
"delta": 0.0986,
"percent_delta": 0.0459,
"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=9.40), rates preserved: AVG=0.284 HR/AB=0.081",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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.4866,
"after": 0.0,
"delta": -0.4866,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0558,
"after": 0.0,
"delta": -0.0558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 9.4015,
"after": 9.0,
"delta": -0.4015,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1125,
"after": 1.0,
"delta": -0.1125,
"percent_delta": -0.1011,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.6697,
"after": 3.0,
"delta": 0.3303,
"percent_delta": 0.1237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.093,
"after": 0.0,
"delta": -0.093,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.7587,
"after": 1.0,
"delta": 0.2413,
"percent_delta": 0.318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.2466,
"after": 2.0,
"delta": -0.2466,
"percent_delta": -0.1098,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3176,
"after": 2.0,
"delta": -0.3176,
"percent_delta": -0.137,
"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_H",
"before": 2.6697,
"after": 3.0,
"delta": 0.3303,
"percent_delta": 0.1237,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4866,
"after": 0.0,
"delta": -0.4866,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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.8942,
"after": 2.0,
"delta": 0.1058,
"percent_delta": 0.0559,
"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.8942,
"after": 2.0,
"delta": 0.1058,
"percent_delta": 0.0559,
"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": 9.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.4,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.667,
"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.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": 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.3597,
"after": 0.4,
"delta": 0.0403,
"percent_delta": 0.112,
"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.5897,
"after": 0.667,
"delta": 0.0773,
"percent_delta": 0.1311,
"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.5897,
"after": 0.667,
"delta": 0.0773,
"percent_delta": 0.1311,
"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": 1.0,
"predicted_RBI": 1.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": 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": 3.0,
"after": 0.0,
"delta": -3.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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.284,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3597,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.5897,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.284,
"delta": -0.049,
"percent_delta": -0.1473,
"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.3597,
"delta": -0.0403,
"percent_delta": -0.1007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.667,
"after": 0.5897,
"delta": -0.0773,
"percent_delta": -0.1159,
"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.667,
"after": 0.5897,
"delta": -0.0773,
"percent_delta": -0.1159,
"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.231,
"after": 0.0,
"delta": -0.231,
"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.34,
"after": 3.0,
"delta": -1.34,
"percent_delta": -0.3088,
"direction": "deboost",
"projection_effect": "worse",
"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.551,
"after": 0.0,
"delta": -0.551,
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3597,
"delta": 0.0197,
"percent_delta": 0.0579,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.731,
"after": 1.0,
"delta": 0.269,
"percent_delta": 0.368,
"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.497,
"after": 0.5897,
"delta": 0.0927,
"percent_delta": 0.1865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.014,
"after": 1.0,
"delta": -0.014,
"percent_delta": -0.0138,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 5,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.34,
"after": 3.0,
"delta": -1.34,
"percent_delta": -0.3088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "neutral"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.028 | - |
| predicted_AB | 4.340 | - |
| predicted_AVG | 0.253 | - |
| predicted_BB | 0.551 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.731 | - |
| predicted_RBI | 0.660 | - |
| predicted_SLG | 0.497 | - |
| predicted_SO | 1.014 | - |
Final model 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.487 | 0.256 |
| predicted_3B | 0.056 | 0.028 |
| predicted_AB | 9.402 | 5.062 |
| predicted_AVG | 0.267 | 0.014 |
| predicted_BB | 1.105 | 0.554 |
| predicted_H | 2.599 | 1.499 |
| predicted_HBP | 0.093 | - |
| predicted_HR | 0.745 | 0.525 |
| predicted_OBP | 0.348 | 0.008 |
| predicted_R | 1.811 | 1.080 |
| predicted_RBI | 2.148 | 1.488 |
| predicted_SLG | 0.549 | 0.052 |
| predicted_SO | 2.333 | 1.319 |
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.487 | 0.000 |
| predicted_3B | 0.056 | 0.000 |
| predicted_AB | 9.402 | 0.000 |
| predicted_AVG | 0.284 | 0.017 |
| predicted_BB | 1.113 | 0.007 |
| predicted_H | 2.670 | 0.071 |
| predicted_HBP | 0.093 | 0.000 |
| predicted_HR | 0.759 | 0.014 |
| predicted_OBP | 0.360 | 0.011 |
| predicted_R | 1.894 | 0.083 |
| predicted_RBI | 2.247 | 0.099 |
| predicted_SLG | 0.590 | 0.041 |
| predicted_SO | 2.318 | -0.015 |
AB rounded to 9 (raw=9.40), rates preserved: AVG=0.284 HR/AB=0.081
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.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 | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.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 | 0.000 | -0.487 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 9.000 | -0.402 |
| predicted_AVG | 0.333 | 0.049 |
| predicted_BB | 1.000 | -0.113 |
| predicted_H | 3.000 | 0.330 |
| predicted_HR | 1.000 | 0.241 |
| predicted_OBP | 0.400 | 0.040 |
| predicted_R | 2.000 | 0.106 |
| predicted_RBI | 2.000 | -0.247 |
| predicted_SLG | 0.667 | 0.077 |
| predicted_SO | 2.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 | 3.000 | -6.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 4.000 | - |
| R | 1.000 | -1.000 |
| RBI | 1.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 | 2 | - | 20.000 | 6.000 | 0.000 | 0.000 | 4.000 | 12.000 | 6.000 | 0.000 | 5.000 | 0.3000 | 0.3000 | 0.9000 | 0.3000 | 0.2000 | 0.6000 | 0.0000 | 0.2500 |
| last_10 | 0.20 | 3 | - | 40.000 | 16.000 | 2.000 | 0.000 | 4.000 | 14.000 | 12.000 | 0.000 | 10.000 | 0.4000 | 0.4000 | 0.7500 | 0.4000 | 0.1000 | 0.3500 | 0.0000 | 0.2500 |
| season | 0.60 | 50 | - | 859.000 | 237.000 | 50.000 | 6.000 | 65.000 | 178.000 | 158.000 | 119.000 | 219.000 | 0.2759 | 0.3657 | 0.5751 | 0.2759 | 0.0757 | 0.2072 | 0.1385 | 0.2550 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8100 |
| predicted_3B | 0.0910 |
| predicted_AB | 15.8070 |
| predicted_AVG | 0.2844 |
| predicted_BB | 1.8070 |
| predicted_H | 4.4960 |
| predicted_HBP | 0.0930 |
| predicted_HR | 1.4090 |
| predicted_OBP | 0.3589 |
| predicted_R | 3.1780 |
| predicted_RBI | 4.0310 |
| predicted_SLG | 0.6146 |
| predicted_SO | 4.0010 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.8100 | 0.4866 | model_form_blend |
| predicted_3B | 0.0280 | 0.0910 | 0.0558 | model_form_blend |
| predicted_AB | 4.3400 | 15.8070 | 9.4015 | model_form_blend |
| predicted_AVG | 0.2530 | 0.2844 | 0.2669 | model_form_blend |
| predicted_BB | 0.5510 | 1.8070 | 1.1054 | model_form_blend |
| predicted_H | 1.1000 | 4.4960 | 2.5990 | model_form_blend |
| predicted_HBP | - | 0.0930 | 0.0930 | form_only |
| predicted_HR | 0.2200 | 1.4090 | 0.7448 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3589 | 0.3483 | model_form_blend |
| predicted_R | 0.7310 | 3.1780 | 1.8111 | model_form_blend |
| predicted_RBI | 0.6600 | 4.0310 | 2.1480 | model_form_blend |
| predicted_SLG | 0.4970 | 0.6146 | 0.5489 | model_form_blend |
| predicted_SO | 1.0140 | 4.0010 | 2.3325 | 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 | 216 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 1 |
| 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 | 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 | 1 |
| 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 | 2B |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 664040 |
| playerID | 664040 |
| playerName | Brandon Lowe |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 22.7 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.393 |
| sl_xwoba | 0.381 |
| sl_xba | 0.271 |
| sl_xslg | 0.53 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 13.5 |
| sl_hard_hit_percent | 46.8 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 16.8 |
| sl_whiff_percent | 34.4 |
| sl_swing_percent | 48.0 |
| at_bat_number | 75.0 |
| ab_pitcher | 573204.0 |
| ab_pitcher_name | Thielbar, Caleb |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | field_out |
| ab_event_description | Brandon Lowe grounds out, second baseman Nico Hoerner to first baseman Michael Busch. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 94.1 |
| ab_launch_angle_last | -17.0 |
| ab_hit_distance_last | 7.0 |
| ab_estimated_ba_last | 0.162 |
| ab_estimated_woba_last | 0.146 |
| ab_estimated_slg_last | 0.185 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.69999999999999 |
| ab_release_spin_rate_avg | 2283.5 |
| ab_effective_speed_avg | 89.75 |
| ab_launch_speed_avg | 94.1 |
| ab_launch_angle_avg | -17.0 |
| ab_delta_run_exp_avg | -0.128 |
| ab_delta_home_win_exp_avg | -0.002 |
| ab_delta_pitcher_run_exp_avg | 0.128 |
| ab_bat_speed_avg | 74.0 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 94.1 |
| ab_hit_distance_sc_max | 7.0 |
| ab_release_speed_max | 92.6 |
| ab_release_spin_rate_max | 2322.0 |
| ab_release_speed_min | 86.8 |
| ab_release_spin_rate_min | 2245.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.004 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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.389 | 4.000 | 6.000 | Hitting_AB | 3.389 | 4.000 | 0.611 | 0.000 |
| predicted_AVG | 0.228 | 0.250 | 0.167 | Hitting_AVG | 0.131 | 0.000 | 0.119 | 0.250 |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.680 | 1.000 | 1.000 | Hitting_H | 0.444 | 0.000 | 0.556 | 1.000 |
| predicted_HR | 0.170 | 1.000 | 0.000 | Hitting_HR | 0.444 | 0.000 | 0.556 | 1.000 |
| predicted_OBP | 0.288 | 0.250 | 0.286 | Hitting_OBP | 0.243 | 0.000 | 0.007 | 0.250 |
| predicted_R | 0.444 | 1.000 | 1.000 | Hitting_R | 0.444 | 0.000 | 0.556 | 1.000 |
| predicted_RBI | 0.530 | 2.000 | 1.000 | Hitting_RBI | 1.167 | 0.000 | 0.833 | 2.000 |
| predicted_SLG | 0.424 | 1.000 | 0.167 | Hitting_SLG | 0.525 | 0.000 | 0.475 | 1.000 |
| predicted_SO | 1.889 | 0.000 | 3.000 | Hitting_SO | 1.889 | 2.000 | -1.889 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 4 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.5300 -> 2.0000 (boost 1.4700, better) |
| Biggest Deboost | predicted_SO: 1.8890 -> 0.0000 (deboost -1.8890, 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 | 9 | 2 | 8 | 3 | predicted_AB: 3.3890 -> 5.6248 (boost 2.2358, better) | predicted_AVG: 0.2280 -> 0.2038 (deboost -0.0242, 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_RBI: 1.2686 -> 1.3268 (boost 0.0582, better) | predicted_AVG: 0.2038 -> 0.1813 (deboost -0.0225, 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: 5.6248 -> 6.0000 (boost 0.3752, better) | predicted_HR: 0.4507 -> 0.0000 (deboost -0.4507, worse) | AB rounded to 6 (raw=5.62), rates preserved: AVG=0.181 HR/AB=0.080 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7470 -> 1.0000 (boost 0.2530, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2756 -> 0.2860 (boost 0.0104, better) | predicted_SLG: 0.4321 -> 0.1670 (deboost -0.2651, 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_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_SO: 3.0000 -> 0.0000 (deboost -3.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1670 -> 0.4321 (boost 0.2651, better) | predicted_OBP: 0.2860 -> 0.2756 (deboost -0.0104, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "699013",
"player_name": "Esmerlyn Valdez",
"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.0,
"predicted_3B": 0.0,
"predicted_AB": 3.389,
"predicted_AVG": 0.228,
"predicted_BB": 0.5,
"predicted_H": 0.68,
"predicted_HR": 0.17,
"predicted_OBP": 0.288,
"predicted_R": 0.444,
"predicted_RBI": 0.53,
"predicted_SLG": 0.424,
"predicted_SO": 1.889
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0507,
"predicted_3B": 0.004,
"predicted_AB": 5.6248,
"predicted_AVG": 0.2038,
"predicted_BB": 0.7282,
"predicted_H": 0.9926,
"predicted_HBP": 0.026,
"predicted_HR": 0.4424,
"predicted_OBP": 0.2752,
"predicted_R": 0.7142,
"predicted_RBI": 1.2686,
"predicted_SLG": 0.4399,
"predicted_SO": 2.7635
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0507,
"delta": 0.0507,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.004,
"delta": 0.004,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.389,
"after": 5.6248,
"delta": 2.2358,
"percent_delta": 0.6597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2038,
"delta": -0.0242,
"percent_delta": -0.1061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.7282,
"delta": 0.2282,
"percent_delta": 0.4564,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 0.9926,
"delta": 0.3126,
"percent_delta": 0.4597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.4424,
"delta": 0.2724,
"percent_delta": 1.6024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2752,
"delta": -0.0128,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 0.7142,
"delta": 0.2702,
"percent_delta": 0.6086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.2686,
"delta": 0.7386,
"percent_delta": 1.3936,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4399,
"delta": 0.0159,
"percent_delta": 0.0375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.889,
"after": 2.7635,
"delta": 0.8745,
"percent_delta": 0.4629,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.389,
"after": 5.6248,
"delta": 2.2358,
"percent_delta": 0.6597,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2038,
"delta": -0.0242,
"percent_delta": -0.1061,
"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": 3,
"season": 5
}
},
{
"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.0507,
"predicted_3B": 0.004,
"predicted_AB": 5.6248,
"predicted_AVG": 0.1813,
"predicted_BB": 0.7329,
"predicted_H": 1.0196,
"predicted_HBP": 0.026,
"predicted_HR": 0.4507,
"predicted_OBP": 0.2756,
"predicted_R": 0.747,
"predicted_RBI": 1.3268,
"predicted_SLG": 0.4321,
"predicted_SO": 2.7458
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0507,
"after": 0.0507,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.004,
"after": 0.004,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.6248,
"after": 5.6248,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2038,
"after": 0.1813,
"delta": -0.0225,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7282,
"after": 0.7329,
"delta": 0.0047,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9926,
"after": 1.0196,
"delta": 0.027,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.026,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4424,
"after": 0.4507,
"delta": 0.0083,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2752,
"after": 0.2756,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7142,
"after": 0.747,
"delta": 0.0328,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2686,
"after": 1.3268,
"delta": 0.0582,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4399,
"after": 0.4321,
"delta": -0.0078,
"percent_delta": -0.0177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7635,
"after": 2.7458,
"delta": -0.0177,
"percent_delta": -0.0064,
"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_RBI",
"before": 1.2686,
"after": 1.3268,
"delta": 0.0582,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2038,
"after": 0.1813,
"delta": -0.0225,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.62), rates preserved: AVG=0.181 HR/AB=0.080",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0507,
"after": 0.0,
"delta": -0.0507,
"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": 5.6248,
"after": 6.0,
"delta": 0.3752,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7329,
"after": 1.0,
"delta": 0.2671,
"percent_delta": 0.3644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0196,
"after": 1.0,
"delta": -0.0196,
"percent_delta": -0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.026,
"after": 0.0,
"delta": -0.026,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4507,
"after": 0.0,
"delta": -0.4507,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3268,
"after": 1.0,
"delta": -0.3268,
"percent_delta": -0.2463,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7458,
"after": 3.0,
"delta": 0.2542,
"percent_delta": 0.0926,
"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": 5.6248,
"after": 6.0,
"delta": 0.3752,
"percent_delta": 0.0667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4507,
"after": 0.0,
"delta": -0.4507,
"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": 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": 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.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"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.747,
"after": 1.0,
"delta": 0.253,
"percent_delta": 0.3387,
"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": 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": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1813,
"after": 0.167,
"delta": -0.0143,
"percent_delta": -0.0789,
"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.2756,
"after": 0.286,
"delta": 0.0104,
"percent_delta": 0.0377,
"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.4321,
"after": 0.167,
"delta": -0.2651,
"percent_delta": -0.6135,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.2756,
"after": 0.286,
"delta": 0.0104,
"percent_delta": 0.0377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4321,
"after": 0.167,
"delta": -0.2651,
"percent_delta": -0.6135,
"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": 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": 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": 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": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"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_SO",
"before": 3.0,
"after": 0.0,
"delta": -3.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.1813,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.2756,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4321,
"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.1813,
"delta": 0.0143,
"percent_delta": 0.0854,
"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.286,
"after": 0.2756,
"delta": -0.0104,
"percent_delta": -0.0362,
"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.4321,
"delta": 0.2651,
"percent_delta": 1.5873,
"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.4321,
"delta": 0.2651,
"percent_delta": 1.5873,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2756,
"delta": -0.0104,
"percent_delta": -0.0362,
"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.389,
"after": 4.0,
"delta": 0.611,
"percent_delta": 0.1803,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.1813,
"delta": -0.0467,
"percent_delta": -0.2048,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.0,
"delta": 0.32,
"percent_delta": 0.4706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2756,
"delta": -0.0124,
"percent_delta": -0.0431,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.444,
"after": 1.0,
"delta": 0.556,
"percent_delta": 1.2523,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4321,
"delta": 0.0081,
"percent_delta": 0.0191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.889,
"after": 0.0,
"delta": -1.889,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 6,
"deboosted_metrics": 4,
"better_metrics": 7,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.889,
"after": 0.0,
"delta": -1.889,
"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.389 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.444 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 1.889 | - |
Final model 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.051 | 0.051 |
| predicted_3B | 0.004 | 0.004 |
| predicted_AB | 5.625 | 2.236 |
| predicted_AVG | 0.204 | -0.024 |
| predicted_BB | 0.728 | 0.228 |
| predicted_H | 0.993 | 0.313 |
| predicted_HBP | 0.026 | - |
| predicted_HR | 0.442 | 0.272 |
| predicted_OBP | 0.275 | -0.013 |
| predicted_R | 0.714 | 0.270 |
| predicted_RBI | 1.269 | 0.739 |
| predicted_SLG | 0.440 | 0.016 |
| predicted_SO | 2.764 | 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.051 | 0.000 |
| predicted_3B | 0.004 | 0.000 |
| predicted_AB | 5.625 | 0.000 |
| predicted_AVG | 0.181 | -0.023 |
| predicted_BB | 0.733 | 0.005 |
| predicted_H | 1.020 | 0.027 |
| predicted_HBP | 0.026 | 0.000 |
| predicted_HR | 0.451 | 0.008 |
| predicted_OBP | 0.276 | 0.000 |
| predicted_R | 0.747 | 0.033 |
| predicted_RBI | 1.327 | 0.058 |
| predicted_SLG | 0.432 | -0.008 |
| predicted_SO | 2.746 | -0.018 |
AB rounded to 6 (raw=5.62), rates preserved: AVG=0.181 HR/AB=0.080
| 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 | 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 | 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 | 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.051 |
| predicted_3B | 0.000 | -0.004 |
| predicted_AB | 6.000 | 0.375 |
| predicted_AVG | 0.167 | -0.014 |
| predicted_BB | 1.000 | 0.267 |
| predicted_H | 1.000 | -0.020 |
| predicted_HR | 0.000 | -0.451 |
| predicted_OBP | 0.286 | 0.010 |
| predicted_R | 1.000 | 0.253 |
| predicted_RBI | 1.000 | -0.327 |
| predicted_SLG | 0.167 | -0.265 |
| predicted_SO | 3.000 | 0.254 |
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 | 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 | -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 | 2 | - | 20.000 | 1.000 | 0.000 | 0.000 | 1.000 | 3.000 | 1.000 | 1.000 | 10.000 | 0.0500 | 0.0952 | 0.2000 | 0.0500 | 0.0500 | 0.1500 | 0.0500 | 0.5000 |
| last_10 | 0.20 | 3 | - | 39.000 | 6.000 | 0.000 | 0.000 | 6.000 | 17.000 | 6.000 | 5.000 | 20.000 | 0.1538 | 0.2500 | 0.6154 | 0.1538 | 0.1538 | 0.4359 | 0.1282 | 0.5128 |
| season | 0.60 | 5 | - | 61.000 | 8.000 | 0.000 | 0.000 | 8.000 | 21.000 | 8.000 | 9.000 | 34.000 | 0.1311 | 0.2429 | 0.5246 | 0.1311 | 0.1311 | 0.3443 | 0.1475 | 0.5574 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1400 |
| predicted_3B | 0.0110 |
| predicted_AB | 9.5610 |
| predicted_AVG | 0.1613 |
| predicted_BB | 1.1300 |
| predicted_H | 1.5430 |
| predicted_HBP | 0.0260 |
| predicted_HR | 0.9220 |
| predicted_OBP | 0.2528 |
| predicted_R | 1.1900 |
| predicted_RBI | 2.5690 |
| predicted_SLG | 0.4678 |
| predicted_SO | 4.3030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1400 | 0.0507 | model_form_blend |
| predicted_3B | 0.0000 | 0.0110 | 0.0040 | model_form_blend |
| predicted_AB | 3.3890 | 9.5610 | 5.6248 | model_form_blend |
| predicted_AVG | 0.2280 | 0.1613 | 0.2038 | model_form_blend |
| predicted_BB | 0.5000 | 1.1300 | 0.7282 | model_form_blend |
| predicted_H | 0.6800 | 1.5430 | 0.9926 | model_form_blend |
| predicted_HBP | - | 0.0260 | 0.0260 | form_only |
| predicted_HR | 0.1700 | 0.9220 | 0.4424 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2528 | 0.2752 | model_form_blend |
| predicted_R | 0.4440 | 1.1900 | 0.7142 | model_form_blend |
| predicted_RBI | 0.5300 | 2.5690 | 1.2686 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4678 | 0.4399 | model_form_blend |
| predicted_SO | 1.8890 | 4.3030 | 2.7635 | 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 | 18 |
| Season rows before report date | 18 |
| Report year | 2026 |
| Profile rows used | 18 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.131 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | RF |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 699013 |
| playerID | 699013 |
| playerName | Esmerlyn Valdez |
| pos | OF |
| started | True |
| startingPosition | RF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 50.0 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.399 |
| sl_xwoba | 0.276 |
| sl_xba | 0.119 |
| sl_xslg | 0.375 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 20.0 |
| sl_hard_hit_percent | 60.0 |
| sl_exit_velocity_avg | 92.7 |
| sl_launch_angle_avg | 15.0 |
| sl_whiff_percent | 52.0 |
| sl_swing_percent | 42.4 |
| at_bat_number | 86.0 |
| ab_pitcher | 681799.0 |
| ab_pitcher_name | Roberts, Ethan |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 682848.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | field_out |
| ab_event_description | Esmerlyn Valdez grounds out, shortstop Dansby Swanson to first baseman Michael Busch. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 101.3 |
| ab_launch_angle_last | -17.0 |
| ab_hit_distance_last | 4.0 |
| ab_estimated_ba_last | 0.189 |
| ab_estimated_woba_last | 0.17 |
| ab_estimated_slg_last | 0.197 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.25 |
| ab_release_spin_rate_avg | 2706.0 |
| ab_effective_speed_avg | 89.85 |
| ab_launch_speed_avg | 101.3 |
| ab_launch_angle_avg | -17.0 |
| ab_delta_run_exp_avg | -0.133 |
| ab_delta_home_win_exp_avg | -0.0005 |
| ab_delta_pitcher_run_exp_avg | 0.133 |
| ab_bat_speed_avg | 70.9 |
| ab_swing_length_avg | 7.4 |
| ab_launch_speed_max | 101.3 |
| ab_hit_distance_sc_max | 4.0 |
| ab_release_speed_max | 94.6 |
| ab_release_spin_rate_max | 2975.0 |
| ab_release_speed_min | 83.9 |
| ab_release_spin_rate_min | 2437.0 |
| ab_delta_run_exp_sum | -0.266 |
| ab_delta_home_win_exp_sum | -0.001 |
| ab_delta_pitcher_run_exp_sum | 0.266 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.130 | 0.000 | 0.000 | Hitting_2B | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.031 | 3.000 | 9.000 | Hitting_AB | 3.990 | 4.000 | -0.990 | -1.000 |
| predicted_AVG | 0.219 | 0.000 | 0.222 | Hitting_AVG | 0.190 | 0.250 | -0.190 | -0.250 |
| predicted_BB | 0.443 | 1.000 | 1.000 | Hitting_BB | 0.443 | 0.000 | 0.557 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 0.000 | 2.000 | Hitting_H | 0.758 | 1.000 | -0.758 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.129 | 0.000 | -0.129 | 0.000 |
| predicted_OBP | 0.280 | 0.250 | 0.300 | Hitting_OBP | 0.279 | 0.250 | -0.029 | 0.000 |
| predicted_R | 0.370 | 0.000 | 1.000 | Hitting_R | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_RBI | 0.530 | 0.000 | 1.000 | Hitting_RBI | 0.526 | 0.000 | -0.526 | 0.000 |
| predicted_SLG | 0.346 | 0.000 | 0.222 | Hitting_SLG | 0.319 | 0.250 | -0.319 | -0.250 |
| predicted_SO | 1.312 | 2.000 | 3.000 | Hitting_SO | 1.299 | 1.000 | 0.701 | 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.3120 -> 2.0000 (boost 0.6880, worse) |
| Biggest Deboost | predicted_AB: 4.0310 -> 3.0000 (deboost -1.0310, 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.0310 -> 9.4023 (boost 5.3713, better) | predicted_SLG: 0.3460 -> 0.3288 (deboost -0.0172, 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_RBI: 1.1657 -> 1.2192 (boost 0.0535, better) | predicted_SLG: 0.3288 -> 0.3153 (deboost -0.0135, 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.9044 -> 1.0000 (boost 0.0956, better) | predicted_AB: 9.4023 -> 9.0000 (deboost -0.4023, worse) | AB rounded to 9 (raw=9.40), rates preserved: AVG=0.205 HR/AB=0.027 |
| 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.8004 -> 1.0000 (boost 0.1996, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2748 -> 0.3000 (boost 0.0252, better) | predicted_SLG: 0.3153 -> 0.2220 (deboost -0.0933, 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: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2220 -> 0.3153 (boost 0.0933, better) | predicted_OBP: 0.3000 -> 0.2748 (deboost -0.0252, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "542303",
"player_name": "Marcell Ozuna",
"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.13,
"predicted_3B": 0.0,
"predicted_AB": 4.031,
"predicted_AVG": 0.219,
"predicted_BB": 0.443,
"predicted_H": 0.83,
"predicted_HR": 0.1,
"predicted_OBP": 0.28,
"predicted_R": 0.37,
"predicted_RBI": 0.53,
"predicted_SLG": 0.346,
"predicted_SO": 1.312
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2704,
"predicted_3B": 0.0009,
"predicted_AB": 9.4023,
"predicted_AVG": 0.2096,
"predicted_BB": 0.8986,
"predicted_H": 1.8769,
"predicted_HBP": 0.174,
"predicted_HR": 0.2501,
"predicted_OBP": 0.2761,
"predicted_R": 0.7653,
"predicted_RBI": 1.1657,
"predicted_SLG": 0.3288,
"predicted_SO": 3.0254
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.13,
"after": 0.2704,
"delta": 0.1404,
"percent_delta": 1.08,
"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.031,
"after": 9.4023,
"delta": 5.3713,
"percent_delta": 1.3325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2096,
"delta": -0.0094,
"percent_delta": -0.0429,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 0.8986,
"delta": 0.4556,
"percent_delta": 1.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.8769,
"delta": 1.0469,
"percent_delta": 1.2613,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2501,
"delta": 0.1501,
"percent_delta": 1.501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2761,
"delta": -0.0039,
"percent_delta": -0.0139,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.37,
"after": 0.7653,
"delta": 0.3953,
"percent_delta": 1.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.1657,
"delta": 0.6357,
"percent_delta": 1.1994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.3288,
"delta": -0.0172,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.312,
"after": 3.0254,
"delta": 1.7134,
"percent_delta": 1.3059,
"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.031,
"after": 9.4023,
"delta": 5.3713,
"percent_delta": 1.3325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.346,
"after": 0.3288,
"delta": -0.0172,
"percent_delta": -0.0497,
"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": 3,
"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.2704,
"predicted_3B": 0.0009,
"predicted_AB": 9.4023,
"predicted_AVG": 0.2051,
"predicted_BB": 0.9044,
"predicted_H": 1.928,
"predicted_HBP": 0.174,
"predicted_HR": 0.2548,
"predicted_OBP": 0.2748,
"predicted_R": 0.8004,
"predicted_RBI": 1.2192,
"predicted_SLG": 0.3153,
"predicted_SO": 3.006
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2704,
"after": 0.2704,
"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": 9.4023,
"after": 9.4023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2096,
"after": 0.2051,
"delta": -0.0045,
"percent_delta": -0.0215,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8986,
"after": 0.9044,
"delta": 0.0058,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8769,
"after": 1.928,
"delta": 0.0511,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.174,
"after": 0.174,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2501,
"after": 0.2548,
"delta": 0.0047,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2761,
"after": 0.2748,
"delta": -0.0013,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7653,
"after": 0.8004,
"delta": 0.0351,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1657,
"after": 1.2192,
"delta": 0.0535,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.3288,
"after": 0.3153,
"delta": -0.0135,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0254,
"after": 3.006,
"delta": -0.0194,
"percent_delta": -0.0064,
"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_RBI",
"before": 1.1657,
"after": 1.2192,
"delta": 0.0535,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3288,
"after": 0.3153,
"delta": -0.0135,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.40), rates preserved: AVG=0.205 HR/AB=0.027",
"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.2704,
"after": 0.0,
"delta": -0.2704,
"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": 9.4023,
"after": 9.0,
"delta": -0.4023,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9044,
"after": 1.0,
"delta": 0.0956,
"percent_delta": 0.1057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.928,
"after": 2.0,
"delta": 0.072,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2548,
"after": 0.0,
"delta": -0.2548,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.2192,
"after": 1.0,
"delta": -0.2192,
"percent_delta": -0.1798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.006,
"after": 3.0,
"delta": -0.006,
"percent_delta": -0.002,
"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.9044,
"after": 1.0,
"delta": 0.0956,
"percent_delta": 0.1057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.4023,
"after": 9.0,
"delta": -0.4023,
"percent_delta": -0.0428,
"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": 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": 0.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"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.8004,
"after": 1.0,
"delta": 0.1996,
"percent_delta": 0.2494,
"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": 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.2051,
"after": 0.222,
"delta": 0.0169,
"percent_delta": 0.0824,
"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.2748,
"after": 0.3,
"delta": 0.0252,
"percent_delta": 0.0917,
"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.3153,
"after": 0.222,
"delta": -0.0933,
"percent_delta": -0.2959,
"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.2748,
"after": 0.3,
"delta": 0.0252,
"percent_delta": 0.0917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3153,
"after": 0.222,
"delta": -0.0933,
"percent_delta": -0.2959,
"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": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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.2051,
"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.2748,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3153,
"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.222,
"after": 0.2051,
"delta": -0.0169,
"percent_delta": -0.0763,
"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.3,
"after": 0.2748,
"delta": -0.0252,
"percent_delta": -0.084,
"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.3153,
"delta": 0.0933,
"percent_delta": 0.4202,
"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.222,
"after": 0.3153,
"delta": 0.0933,
"percent_delta": 0.4202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2748,
"delta": -0.0252,
"percent_delta": -0.084,
"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.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": 4.031,
"after": 3.0,
"delta": -1.031,
"percent_delta": -0.2558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.219,
"after": 0.2051,
"delta": -0.0139,
"percent_delta": -0.0635,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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.28,
"after": 0.2748,
"delta": -0.0052,
"percent_delta": -0.0186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.37,
"after": 0.0,
"delta": -0.37,
"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.346,
"after": 0.3153,
"delta": -0.0307,
"percent_delta": -0.0887,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.312,
"after": 2.0,
"delta": 0.688,
"percent_delta": 0.5244,
"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.312,
"after": 2.0,
"delta": 0.688,
"percent_delta": 0.5244,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.031,
"after": 3.0,
"delta": -1.031,
"percent_delta": -0.2558,
"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.130 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.031 | - |
| predicted_AVG | 0.219 | - |
| predicted_BB | 0.443 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.370 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.346 | - |
| predicted_SO | 1.312 | - |
Final model 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.140 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.402 | 5.371 |
| predicted_AVG | 0.210 | -0.009 |
| predicted_BB | 0.899 | 0.456 |
| predicted_H | 1.877 | 1.047 |
| predicted_HBP | 0.174 | - |
| predicted_HR | 0.250 | 0.150 |
| predicted_OBP | 0.276 | -0.004 |
| predicted_R | 0.765 | 0.395 |
| predicted_RBI | 1.166 | 0.636 |
| predicted_SLG | 0.329 | -0.017 |
| predicted_SO | 3.025 | 1.713 |
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 | 9.402 | 0.000 |
| predicted_AVG | 0.205 | -0.005 |
| predicted_BB | 0.904 | 0.006 |
| predicted_H | 1.928 | 0.051 |
| predicted_HBP | 0.174 | 0.000 |
| predicted_HR | 0.255 | 0.005 |
| predicted_OBP | 0.275 | -0.001 |
| predicted_R | 0.800 | 0.035 |
| predicted_RBI | 1.219 | 0.054 |
| predicted_SLG | 0.315 | -0.013 |
| predicted_SO | 3.006 | -0.019 |
AB rounded to 9 (raw=9.40), rates preserved: AVG=0.205 HR/AB=0.027
| 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.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 | 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.270 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.402 |
| predicted_AVG | 0.222 | 0.017 |
| predicted_BB | 1.000 | 0.096 |
| predicted_H | 2.000 | 0.072 |
| predicted_HR | 0.000 | -0.255 |
| predicted_OBP | 0.300 | 0.025 |
| predicted_R | 1.000 | 0.200 |
| predicted_RBI | 1.000 | -0.219 |
| predicted_SLG | 0.222 | -0.093 |
| predicted_SO | 3.000 | -0.006 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 2 | - | 21.000 | 5.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 6.000 | 0.2381 | 0.2381 | 0.2381 | 0.2381 | 0.0000 | 0.0476 | 0.0000 | 0.2857 |
| last_10 | 0.20 | 3 | - | 45.000 | 9.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 0.000 | 17.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.1111 | 0.0000 | 0.3778 |
| season | 0.60 | 44 | - | 774.000 | 147.000 | 25.000 | 0.000 | 25.000 | 102.000 | 71.000 | 85.000 | 252.000 | 0.1899 | 0.2785 | 0.3191 | 0.1899 | 0.0323 | 0.1318 | 0.1098 | 0.3256 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4490 |
| predicted_3B | 0.0020 |
| predicted_AB | 16.2320 |
| predicted_AVG | 0.1976 |
| predicted_BB | 1.4780 |
| predicted_H | 3.2080 |
| predicted_HBP | 0.1740 |
| predicted_HR | 0.4410 |
| predicted_OBP | 0.2711 |
| predicted_R | 1.2680 |
| predicted_RBI | 1.9740 |
| predicted_SLG | 0.3070 |
| predicted_SO | 5.2040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1300 | 0.4490 | 0.2704 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0310 | 16.2320 | 9.4023 | model_form_blend |
| predicted_AVG | 0.2190 | 0.1976 | 0.2096 | model_form_blend |
| predicted_BB | 0.4430 | 1.4780 | 0.8986 | model_form_blend |
| predicted_H | 0.8300 | 3.2080 | 1.8769 | model_form_blend |
| predicted_HBP | - | 0.1740 | 0.1740 | form_only |
| predicted_HR | 0.1000 | 0.4410 | 0.2501 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2711 | 0.2761 | model_form_blend |
| predicted_R | 0.3700 | 1.2680 | 0.7653 | model_form_blend |
| predicted_RBI | 0.5300 | 1.9740 | 1.1657 | model_form_blend |
| predicted_SLG | 0.3460 | 0.3070 | 0.3288 | model_form_blend |
| predicted_SO | 1.3120 | 5.2040 | 3.0254 | 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 | 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 | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | DH |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 542303 |
| playerID | 542303 |
| playerName | Marcell Ozuna |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 29.3 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.263 |
| sl_xwoba | 0.307 |
| sl_xba | 0.22 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 38.1 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 40.7 |
| sl_exit_velocity_avg | 89.7 |
| sl_launch_angle_avg | 23.1 |
| sl_whiff_percent | 30.5 |
| sl_swing_percent | 42.1 |
| at_bat_number | 84.0 |
| ab_pitcher | 681799.0 |
| ab_pitcher_name | Roberts, Ethan |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | field_out |
| ab_event_description | Marcell Ozuna flies out to center fielder Pete Crow-Armstrong. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 93.4 |
| ab_launch_angle_last | 52.0 |
| ab_hit_distance_last | 247.0 |
| ab_estimated_ba_last | 0.003 |
| ab_estimated_woba_last | 0.003 |
| ab_estimated_slg_last | 0.003 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 91.7 |
| ab_release_spin_rate_avg | 2946.75 |
| ab_effective_speed_avg | 91.825 |
| ab_launch_speed_avg | 85.35 |
| ab_launch_angle_avg | 52.5 |
| ab_delta_run_exp_avg | -0.064 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.064 |
| ab_bat_speed_avg | 73.55 |
| ab_swing_length_avg | 7.4 |
| ab_launch_speed_max | 93.4 |
| ab_hit_distance_sc_max | 247.0 |
| ab_release_speed_max | 94.5 |
| ab_release_spin_rate_max | 3234.0 |
| ab_release_speed_min | 84.4 |
| ab_release_spin_rate_min | 2807.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.163 | 0.000 | 0.000 | Hitting_2B | 0.162 | 0.000 | -0.162 | 0.000 |
| predicted_3B | 0.056 | 1.000 | 0.000 | Hitting_3B | 0.056 | 0.000 | 0.944 | 1.000 |
| predicted_AB | 3.867 | 4.000 | 9.000 | Hitting_AB | 3.848 | 4.000 | 0.152 | 0.000 |
| predicted_AVG | 0.236 | 0.250 | 0.222 | Hitting_AVG | 0.256 | 0.250 | -0.006 | 0.000 |
| predicted_BB | 0.311 | 0.000 | 1.000 | Hitting_BB | 0.310 | 0.000 | -0.310 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.015 | 0.000 | -0.015 | 0.000 |
| predicted_H | 0.850 | 1.000 | 2.000 | Hitting_H | 0.985 | 1.000 | 0.015 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.091 | 1.000 | -0.091 | -1.000 |
| predicted_OBP | 0.312 | 0.250 | 0.300 | Hitting_OBP | 0.319 | 0.250 | -0.069 | 0.000 |
| predicted_R | 0.602 | 0.000 | 2.000 | Hitting_R | 0.599 | 1.000 | -0.599 | -1.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.497 | 1.000 | -0.497 | -1.000 |
| predicted_SLG | 0.386 | 0.750 | 0.222 | Hitting_SLG | 0.398 | 1.000 | 0.352 | -0.250 |
| predicted_SO | 1.138 | 1.000 | 3.000 | Hitting_SO | 1.132 | 1.000 | -0.132 | 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_3B: 0.0560 -> 1.0000 (boost 0.9440, better) |
| Biggest Deboost | predicted_R: 0.6020 -> 0.0000 (deboost -0.6020, 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.8670 -> 8.5925 (boost 4.7255, 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 | 4 | 1 | 4 | 1 | predicted_R: 1.5007 -> 1.5696 (boost 0.0689, better) | predicted_OBP: 0.3139 -> 0.3082 (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 | 9 | 3 | 6 | 2 | 7 | predicted_SO: 2.4525 -> 3.0000 (boost 0.5475, worse) | predicted_HR: 0.3719 -> 0.0000 (deboost -0.3719, worse) | AB rounded to 9 (raw=8.59), rates preserved: AVG=0.252 HR/AB=0.043 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5696 -> 2.0000 (boost 0.4304, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4439 -> 0.2220 (deboost -0.2219, 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_3B: 0.0000 -> 1.0000 (boost 1.0000, better) | 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.4439 (boost 0.2219, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "804606",
"player_name": "Konnor Griffin",
"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.163,
"predicted_3B": 0.056,
"predicted_AB": 3.867,
"predicted_AVG": 0.236,
"predicted_BB": 0.311,
"predicted_H": 0.85,
"predicted_HR": 0.11,
"predicted_OBP": 0.312,
"predicted_R": 0.602,
"predicted_RBI": 0.37,
"predicted_SLG": 0.386,
"predicted_SO": 1.138
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3205,
"predicted_3B": 0.107,
"predicted_AB": 8.5925,
"predicted_AVG": 0.2438,
"predicted_BB": 0.695,
"predicted_H": 2.1068,
"predicted_HBP": 0.206,
"predicted_HR": 0.3651,
"predicted_OBP": 0.3139,
"predicted_R": 1.5007,
"predicted_RBI": 1.0783,
"predicted_SLG": 0.4162,
"predicted_SO": 2.4683
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.163,
"after": 0.3205,
"delta": 0.1575,
"percent_delta": 0.9663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 0.107,
"delta": 0.051,
"percent_delta": 0.9107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.867,
"after": 8.5925,
"delta": 4.7255,
"percent_delta": 1.222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2438,
"delta": 0.0078,
"percent_delta": 0.0331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.695,
"delta": 0.384,
"percent_delta": 1.2347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.85,
"after": 2.1068,
"delta": 1.2568,
"percent_delta": 1.4786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.3651,
"delta": 0.2551,
"percent_delta": 2.3191,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.312,
"after": 0.3139,
"delta": 0.0019,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 1.5007,
"delta": 0.8987,
"percent_delta": 1.4929,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 1.0783,
"delta": 0.7083,
"percent_delta": 1.9143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.386,
"after": 0.4162,
"delta": 0.0302,
"percent_delta": 0.0782,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.138,
"after": 2.4683,
"delta": 1.3303,
"percent_delta": 1.169,
"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.867,
"after": 8.5925,
"delta": 4.7255,
"percent_delta": 1.222,
"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": 3,
"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.3205,
"predicted_3B": 0.107,
"predicted_AB": 8.5925,
"predicted_AVG": 0.2519,
"predicted_BB": 0.6994,
"predicted_H": 2.1641,
"predicted_HBP": 0.206,
"predicted_HR": 0.3719,
"predicted_OBP": 0.3082,
"predicted_R": 1.5696,
"predicted_RBI": 1.1278,
"predicted_SLG": 0.4439,
"predicted_SO": 2.4525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3205,
"after": 0.3205,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.107,
"after": 0.107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.5925,
"after": 8.5925,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2438,
"after": 0.2519,
"delta": 0.0081,
"percent_delta": 0.0332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.695,
"after": 0.6994,
"delta": 0.0044,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1068,
"after": 2.1641,
"delta": 0.0573,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.206,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3651,
"after": 0.3719,
"delta": 0.0068,
"percent_delta": 0.0186,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3139,
"after": 0.3082,
"delta": -0.0057,
"percent_delta": -0.0182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.5007,
"after": 1.5696,
"delta": 0.0689,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0783,
"after": 1.1278,
"delta": 0.0495,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4162,
"after": 0.4439,
"delta": 0.0277,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4683,
"after": 2.4525,
"delta": -0.0158,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.5007,
"after": 1.5696,
"delta": 0.0689,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3139,
"after": 0.3082,
"delta": -0.0057,
"percent_delta": -0.0182,
"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.252 HR/AB=0.043",
"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.3205,
"after": 0.0,
"delta": -0.3205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.5925,
"after": 9.0,
"delta": 0.4075,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6994,
"after": 1.0,
"delta": 0.3006,
"percent_delta": 0.4298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1641,
"after": 2.0,
"delta": -0.1641,
"percent_delta": -0.0758,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.206,
"after": 0.0,
"delta": -0.206,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1278,
"after": 1.0,
"delta": -0.1278,
"percent_delta": -0.1133,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4525,
"after": 3.0,
"delta": 0.5475,
"percent_delta": 0.2232,
"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": 2.4525,
"after": 3.0,
"delta": 0.5475,
"percent_delta": 0.2232,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"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": 2.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.5696,
"after": 2.0,
"delta": 0.4304,
"percent_delta": 0.2742,
"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.5696,
"after": 2.0,
"delta": 0.4304,
"percent_delta": 0.2742,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3,
"predicted_R": 2.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.2519,
"after": 0.222,
"delta": -0.0299,
"percent_delta": -0.1187,
"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.3082,
"after": 0.3,
"delta": -0.0082,
"percent_delta": -0.0266,
"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.4439,
"after": 0.222,
"delta": -0.2219,
"percent_delta": -0.4999,
"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.4439,
"after": 0.222,
"delta": -0.2219,
"percent_delta": -0.4999,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"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": 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": 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": 1,
"deboosted_metrics": 6,
"better_metrics": 2,
"worse_metrics": 5,
"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": 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": 1.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2519,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3082,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4439,
"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": 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.222,
"after": 0.2519,
"delta": 0.0299,
"percent_delta": 0.1345,
"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.3082,
"delta": 0.0082,
"percent_delta": 0.0273,
"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.4439,
"delta": 0.2219,
"percent_delta": 0.9996,
"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.4439,
"delta": 0.2219,
"percent_delta": 0.9996,
"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": 0.0,
"delta": -0.163,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.056,
"after": 1.0,
"delta": 0.944,
"percent_delta": 16.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.867,
"after": 4.0,
"delta": 0.133,
"percent_delta": 0.0344,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2519,
"delta": 0.0159,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.311,
"after": 0.0,
"delta": -0.311,
"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.312,
"after": 0.3082,
"delta": -0.0038,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 0.0,
"delta": -0.602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.386,
"after": 0.4439,
"delta": 0.0579,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.138,
"after": 1.0,
"delta": -0.138,
"percent_delta": -0.1213,
"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_3B",
"before": 0.056,
"after": 1.0,
"delta": 0.944,
"percent_delta": 16.8571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.602,
"after": 0.0,
"delta": -0.602,
"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.056 | - |
| predicted_AB | 3.867 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.311 | - |
| predicted_H | 0.850 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.312 | - |
| predicted_R | 0.602 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.386 | - |
| predicted_SO | 1.138 | - |
Final model 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.158 |
| predicted_3B | 0.107 | 0.051 |
| predicted_AB | 8.592 | 4.725 |
| predicted_AVG | 0.244 | 0.008 |
| predicted_BB | 0.695 | 0.384 |
| predicted_H | 2.107 | 1.257 |
| predicted_HBP | 0.206 | - |
| predicted_HR | 0.365 | 0.255 |
| predicted_OBP | 0.314 | 0.002 |
| predicted_R | 1.501 | 0.899 |
| predicted_RBI | 1.078 | 0.708 |
| predicted_SLG | 0.416 | 0.030 |
| predicted_SO | 2.468 | 1.330 |
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.107 | 0.000 |
| predicted_AB | 8.592 | 0.000 |
| predicted_AVG | 0.252 | 0.008 |
| predicted_BB | 0.699 | 0.004 |
| predicted_H | 2.164 | 0.057 |
| predicted_HBP | 0.206 | 0.000 |
| predicted_HR | 0.372 | 0.007 |
| predicted_OBP | 0.308 | -0.006 |
| predicted_R | 1.570 | 0.069 |
| predicted_RBI | 1.128 | 0.049 |
| predicted_SLG | 0.444 | 0.028 |
| predicted_SO | 2.453 | -0.016 |
AB rounded to 9 (raw=8.59), rates preserved: AVG=0.252 HR/AB=0.043
| 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 | - |
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 | 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 | 0.000 | -0.321 |
| predicted_3B | 0.000 | -0.107 |
| predicted_AB | 9.000 | 0.408 |
| predicted_AVG | 0.222 | -0.030 |
| predicted_BB | 1.000 | 0.301 |
| predicted_H | 2.000 | -0.164 |
| predicted_HR | 0.000 | -0.372 |
| predicted_OBP | 0.300 | -0.008 |
| predicted_R | 2.000 | 0.430 |
| predicted_RBI | 1.000 | -0.128 |
| predicted_SLG | 0.222 | -0.222 |
| predicted_SO | 3.000 | 0.547 |
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 | -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 | -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 | 2 | - | 20.000 | 5.000 | 0.000 | 0.000 | 4.000 | 4.000 | 6.000 | 1.000 | 5.000 | 0.2500 | 0.2857 | 0.8500 | 0.2500 | 0.2000 | 0.2000 | 0.0500 | 0.2500 |
| last_10 | 0.20 | 3 | - | 39.000 | 9.000 | 0.000 | 0.000 | 4.000 | 4.000 | 14.000 | 6.000 | 10.000 | 0.2308 | 0.3333 | 0.5385 | 0.2308 | 0.1026 | 0.1026 | 0.1538 | 0.2564 |
| season | 0.60 | 48 | - | 758.000 | 194.000 | 32.000 | 11.000 | 18.000 | 98.000 | 118.000 | 61.000 | 223.000 | 0.2559 | 0.3194 | 0.3984 | 0.2559 | 0.0238 | 0.1293 | 0.0805 | 0.2942 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5210 |
| predicted_3B | 0.1720 |
| predicted_AB | 14.6090 |
| predicted_AVG | 0.2537 |
| predicted_BB | 1.1840 |
| predicted_H | 3.7070 |
| predicted_HBP | 0.2060 |
| predicted_HR | 0.6900 |
| predicted_OBP | 0.3163 |
| predicted_R | 2.6450 |
| predicted_RBI | 1.9800 |
| predicted_SLG | 0.4547 |
| predicted_SO | 4.1620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1630 | 0.5210 | 0.3205 | model_form_blend |
| predicted_3B | 0.0560 | 0.1720 | 0.1070 | model_form_blend |
| predicted_AB | 3.8670 | 14.6090 | 8.5925 | model_form_blend |
| predicted_AVG | 0.2360 | 0.2537 | 0.2438 | model_form_blend |
| predicted_BB | 0.3110 | 1.1840 | 0.6950 | model_form_blend |
| predicted_H | 0.8500 | 3.7070 | 2.1068 | model_form_blend |
| predicted_HBP | - | 0.2060 | 0.2060 | form_only |
| predicted_HR | 0.1100 | 0.6900 | 0.3651 | model_form_blend |
| predicted_OBP | 0.3120 | 0.3163 | 0.3139 | model_form_blend |
| predicted_R | 0.6020 | 2.6450 | 1.5007 | model_form_blend |
| predicted_RBI | 0.3700 | 1.9800 | 1.0783 | model_form_blend |
| predicted_SLG | 0.3860 | 0.4547 | 0.4162 | model_form_blend |
| predicted_SO | 1.1380 | 4.1620 | 2.4683 | 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 | 196 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.256 |
| 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 | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 4 |
| 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 | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 804606 |
| playerID | 804606 |
| playerName | Konnor Griffin |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 7.2 |
| sl_woba | 0.315 |
| sl_xwoba | 0.311 |
| sl_xba | 0.242 |
| sl_xslg | 0.398 |
| sl_sweet_spot_percent | 31.7 |
| sl_barrel_batted_rate | 8.8 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 87.2 |
| sl_launch_angle_avg | 4.7 |
| sl_whiff_percent | 32.5 |
| sl_swing_percent | 50.1 |
| at_bat_number | 83.0 |
| ab_pitcher | 681799.0 |
| ab_pitcher_name | Roberts, Ethan |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | field_out |
| ab_event_description | Konnor Griffin grounds out, second baseman Nico Hoerner to first baseman Michael Busch. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 95.1 |
| ab_launch_angle_last | -23.0 |
| ab_hit_distance_last | 5.0 |
| ab_estimated_ba_last | 0.168 |
| ab_estimated_woba_last | 0.172 |
| ab_estimated_slg_last | 0.204 |
| 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 | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 90.06666666666666 |
| ab_release_spin_rate_avg | 2761.333333333333 |
| ab_effective_speed_avg | 90.43333333333334 |
| ab_launch_speed_avg | 95.95 |
| ab_launch_angle_avg | 12.0 |
| ab_delta_run_exp_avg | -0.0853333333333333 |
| ab_delta_home_win_exp_avg | -0.0006666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0853333333333333 |
| ab_bat_speed_avg | 77.4 |
| ab_swing_length_avg | 7.1 |
| ab_launch_speed_max | 96.8 |
| ab_hit_distance_sc_max | 287.0 |
| ab_release_speed_max | 94.0 |
| ab_release_spin_rate_max | 3160.0 |
| ab_release_speed_min | 83.1 |
| ab_release_spin_rate_min | 2374.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.002 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.204 | 0.000 | 0.000 | Hitting_2B | 0.204 | 0.000 | -0.204 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.290 | 3.000 | 10.000 | Hitting_AB | 4.287 | 4.000 | -1.287 | -1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.300 | Hitting_AVG | 0.270 | 0.000 | -0.270 | 0.000 |
| predicted_BB | 0.346 | 0.000 | 1.000 | Hitting_BB | 0.346 | 0.000 | -0.346 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.058 | 0.000 | -0.058 | 0.000 |
| predicted_H | 1.040 | 0.000 | 3.000 | Hitting_H | 1.158 | 0.000 | -1.158 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.364 | Hitting_OBP | 0.333 | 0.000 | -0.333 | 0.000 |
| predicted_R | 0.783 | 1.000 | 2.000 | Hitting_R | 0.783 | 0.000 | 0.217 | 1.000 |
| predicted_RBI | 0.540 | 1.000 | 1.000 | Hitting_RBI | 0.704 | 0.000 | 0.296 | 1.000 |
| predicted_SLG | 0.434 | 0.000 | 0.300 | Hitting_SLG | 0.469 | 0.000 | -0.469 | 0.000 |
| predicted_SO | 1.642 | 0.000 | 4.000 | Hitting_SO | 1.642 | 3.000 | -1.642 | -3.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_RBI: 0.5400 -> 1.0000 (boost 0.4600, better) |
| Biggest Deboost | predicted_SO: 1.6420 -> 0.0000 (deboost -1.6420, 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: 4.2900 -> 10.0212 (boost 5.7312, 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_R: 1.6824 -> 1.7596 (boost 0.0772, better) | predicted_OBP: 0.3265 -> 0.3168 (deboost -0.0097, 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_H: 2.6875 -> 3.0000 (boost 0.3125, better) | predicted_RBI: 1.4994 -> 1.0000 (deboost -0.4994, worse) | AB rounded to 10 (raw=10.02), rates preserved: AVG=0.268 HR/AB=0.043 |
| 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: 1.7596 -> 2.0000 (boost 0.2404, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3168 -> 0.3640 (boost 0.0472, better) | predicted_SLG: 0.4398 -> 0.3000 (deboost -0.1398, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 1 | 4 | predicted_SF: 0.0000 -> 1.0000 (boost 1.0000, higher) | predicted_AB: 10.0000 -> 3.0000 (deboost -7.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3000 -> 0.4398 (boost 0.1398, better) | predicted_OBP: 0.3640 -> 0.3168 (deboost -0.0472, 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.204,
"predicted_3B": 0.0,
"predicted_AB": 4.29,
"predicted_AVG": 0.243,
"predicted_BB": 0.346,
"predicted_H": 1.04,
"predicted_HR": 0.19,
"predicted_OBP": 0.326,
"predicted_R": 0.783,
"predicted_RBI": 0.54,
"predicted_SLG": 0.434,
"predicted_SO": 1.642
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4181,
"predicted_3B": 0.0009,
"predicted_AB": 10.0212,
"predicted_AVG": 0.2536,
"predicted_BB": 0.7079,
"predicted_H": 2.6163,
"predicted_HBP": 0.397,
"predicted_HR": 0.4254,
"predicted_OBP": 0.3265,
"predicted_R": 1.6824,
"predicted_RBI": 1.4336,
"predicted_SLG": 0.4334,
"predicted_SO": 3.9893
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.204,
"after": 0.4181,
"delta": 0.2141,
"percent_delta": 1.0495,
"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.29,
"after": 10.0212,
"delta": 5.7312,
"percent_delta": 1.3359,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2536,
"delta": 0.0106,
"percent_delta": 0.0436,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.346,
"after": 0.7079,
"delta": 0.3619,
"percent_delta": 1.046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.6163,
"delta": 1.5763,
"percent_delta": 1.5157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.4254,
"delta": 0.2354,
"percent_delta": 1.2389,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3265,
"delta": 0.0005,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.783,
"after": 1.6824,
"delta": 0.8994,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.4336,
"delta": 0.8936,
"percent_delta": 1.6548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4334,
"delta": -0.0006,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.642,
"after": 3.9893,
"delta": 2.3473,
"percent_delta": 1.4295,
"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.29,
"after": 10.0212,
"delta": 5.7312,
"percent_delta": 1.3359,
"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": 3,
"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.4181,
"predicted_3B": 0.0009,
"predicted_AB": 10.0212,
"predicted_AVG": 0.2682,
"predicted_BB": 0.7124,
"predicted_H": 2.6875,
"predicted_HBP": 0.397,
"predicted_HR": 0.4334,
"predicted_OBP": 0.3168,
"predicted_R": 1.7596,
"predicted_RBI": 1.4994,
"predicted_SLG": 0.4398,
"predicted_SO": 3.9638
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4181,
"after": 0.4181,
"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": 10.0212,
"after": 10.0212,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2536,
"after": 0.2682,
"delta": 0.0146,
"percent_delta": 0.0576,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7079,
"after": 0.7124,
"delta": 0.0045,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.6163,
"after": 2.6875,
"delta": 0.0712,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.397,
"after": 0.397,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4254,
"after": 0.4334,
"delta": 0.008,
"percent_delta": 0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3265,
"after": 0.3168,
"delta": -0.0097,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6824,
"after": 1.7596,
"delta": 0.0772,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4336,
"after": 1.4994,
"delta": 0.0658,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4334,
"after": 0.4398,
"delta": 0.0064,
"percent_delta": 0.0148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.9893,
"after": 3.9638,
"delta": -0.0255,
"percent_delta": -0.0064,
"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_R",
"before": 1.6824,
"after": 1.7596,
"delta": 0.0772,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3265,
"after": 0.3168,
"delta": -0.0097,
"percent_delta": -0.0297,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=10.02), rates preserved: AVG=0.268 HR/AB=0.043",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4181,
"after": 0.0,
"delta": -0.4181,
"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": 10.0212,
"after": 10.0,
"delta": -0.0212,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7124,
"after": 1.0,
"delta": 0.2876,
"percent_delta": 0.4037,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.6875,
"after": 3.0,
"delta": 0.3125,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.397,
"after": 0.0,
"delta": -0.397,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4334,
"after": 0.0,
"delta": -0.4334,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4994,
"after": 1.0,
"delta": -0.4994,
"percent_delta": -0.3331,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.9638,
"after": 4.0,
"delta": 0.0362,
"percent_delta": 0.0091,
"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_H",
"before": 2.6875,
"after": 3.0,
"delta": 0.3125,
"percent_delta": 0.1163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.4994,
"after": 1.0,
"delta": -0.4994,
"percent_delta": -0.3331,
"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": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0,
"after": 10.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_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": 4.0,
"after": 4.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": 10.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.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": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0,
"after": 10.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.7596,
"after": 2.0,
"delta": 0.2404,
"percent_delta": 0.1366,
"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": 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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.7596,
"after": 2.0,
"delta": 0.2404,
"percent_delta": 0.1366,
"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": 10.0,
"predicted_AVG": 0.3,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.3,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2682,
"after": 0.3,
"delta": 0.0318,
"percent_delta": 0.1186,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3168,
"after": 0.364,
"delta": 0.0472,
"percent_delta": 0.149,
"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.4398,
"after": 0.3,
"delta": -0.1398,
"percent_delta": -0.3179,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_OBP",
"before": 0.3168,
"after": 0.364,
"delta": 0.0472,
"percent_delta": 0.149,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4398,
"after": 0.3,
"delta": -0.1398,
"percent_delta": -0.3179,
"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": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0,
"after": 3.0,
"delta": -7.0,
"percent_delta": -0.7,
"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": 3.0,
"after": 0.0,
"delta": -3.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 0.0,
"delta": -4.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_SF",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "higher",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 10.0,
"after": 3.0,
"delta": -7.0,
"percent_delta": -0.7,
"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.2682,
"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.3168,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 1.0,
"predicted_SLG": 0.4398,
"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.3,
"after": 0.2682,
"delta": -0.0318,
"percent_delta": -0.1061,
"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.364,
"after": 0.3168,
"delta": -0.0472,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3,
"after": 0.4398,
"delta": 0.1398,
"percent_delta": 0.466,
"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.3,
"after": 0.4398,
"delta": 0.1398,
"percent_delta": 0.466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.364,
"after": 0.3168,
"delta": -0.0472,
"percent_delta": -0.1298,
"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.204,
"after": 0.0,
"delta": -0.204,
"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.29,
"after": 3.0,
"delta": -1.29,
"percent_delta": -0.3007,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2682,
"delta": 0.0252,
"percent_delta": 0.1037,
"direction": "boost",
"projection_effect": "better",
"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": 1.04,
"after": 0.0,
"delta": -1.04,
"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.326,
"after": 0.3168,
"delta": -0.0092,
"percent_delta": -0.0282,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.783,
"after": 1.0,
"delta": 0.217,
"percent_delta": 0.2771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4398,
"delta": 0.0058,
"percent_delta": 0.0134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.642,
"after": 0.0,
"delta": -1.642,
"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_RBI",
"before": 0.54,
"after": 1.0,
"delta": 0.46,
"percent_delta": 0.8519,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.642,
"after": 0.0,
"delta": -1.642,
"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.204 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.290 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.346 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.783 | - |
| predicted_RBI | 0.540 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 1.642 | - |
Final model 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.418 | 0.214 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 10.021 | 5.731 |
| predicted_AVG | 0.254 | 0.011 |
| predicted_BB | 0.708 | 0.362 |
| predicted_H | 2.616 | 1.576 |
| predicted_HBP | 0.397 | - |
| predicted_HR | 0.425 | 0.235 |
| predicted_OBP | 0.327 | 0.001 |
| predicted_R | 1.682 | 0.899 |
| predicted_RBI | 1.434 | 0.894 |
| predicted_SLG | 0.433 | -0.001 |
| predicted_SO | 3.989 | 2.347 |
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.418 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 10.021 | 0.000 |
| predicted_AVG | 0.268 | 0.015 |
| predicted_BB | 0.712 | 0.005 |
| predicted_H | 2.688 | 0.071 |
| predicted_HBP | 0.397 | 0.000 |
| predicted_HR | 0.433 | 0.008 |
| predicted_OBP | 0.317 | -0.010 |
| predicted_R | 1.760 | 0.077 |
| predicted_RBI | 1.499 | 0.066 |
| predicted_SLG | 0.440 | 0.006 |
| predicted_SO | 3.964 | -0.026 |
AB rounded to 10 (raw=10.02), rates preserved: AVG=0.268 HR/AB=0.043
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 4.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 | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 4.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 | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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 | 4.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.418 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 10.000 | -0.021 |
| predicted_AVG | 0.300 | 0.032 |
| predicted_BB | 1.000 | 0.288 |
| predicted_H | 3.000 | 0.312 |
| predicted_HR | 0.000 | -0.433 |
| predicted_OBP | 0.364 | 0.047 |
| predicted_R | 2.000 | 0.240 |
| predicted_RBI | 1.000 | -0.499 |
| predicted_SLG | 0.300 | -0.140 |
| predicted_SO | 4.000 | 0.036 |
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 | -7.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | -1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 1.000 | 1.000 |
| SO | 0.000 | -4.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 | 3.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 12.000 | 0.1579 | 0.2000 | 0.1579 | 0.1579 | 0.0000 | 0.0526 | 0.0000 | 0.6316 |
| last_10 | 0.20 | 3 | - | 36.000 | 16.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 0.000 | 12.000 | 0.4444 | 0.5000 | 0.4444 | 0.4444 | 0.0000 | 0.1111 | 0.0000 | 0.3333 |
| season | 0.60 | 54 | - | 1029.000 | 278.000 | 49.000 | 0.000 | 52.000 | 169.000 | 188.000 | 83.000 | 394.000 | 0.2702 | 0.3330 | 0.4694 | 0.2702 | 0.0505 | 0.1642 | 0.0807 | 0.3829 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6880 |
| predicted_3B | 0.0020 |
| predicted_AB | 17.2450 |
| predicted_AVG | 0.2669 |
| predicted_BB | 1.1640 |
| predicted_H | 4.6030 |
| predicted_HBP | 0.3970 |
| predicted_HR | 0.7220 |
| predicted_OBP | 0.3271 |
| predicted_R | 2.8160 |
| predicted_RBI | 2.5600 |
| predicted_SLG | 0.4327 |
| predicted_SO | 6.9480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2040 | 0.6880 | 0.4181 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.2900 | 17.2450 | 10.0212 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2669 | 0.2536 | model_form_blend |
| predicted_BB | 0.3460 | 1.1640 | 0.7079 | model_form_blend |
| predicted_H | 1.0400 | 4.6030 | 2.6163 | model_form_blend |
| predicted_HBP | - | 0.3970 | 0.3970 | form_only |
| predicted_HR | 0.1900 | 0.7220 | 0.4254 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3271 | 0.3265 | model_form_blend |
| predicted_R | 0.7830 | 2.8160 | 1.6824 | model_form_blend |
| predicted_RBI | 0.5400 | 2.5600 | 1.4336 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4327 | 0.4334 | model_form_blend |
| predicted_SO | 1.6420 | 6.9480 | 3.9893 | 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 | 240 |
| Season rows before report date | 240 |
| Report year | 2026 |
| Profile rows used | 240 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 1 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 3 |
| 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 | CF |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 665833 |
| playerID | 665833 |
| playerName | Oneil Cruz |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 35.0 |
| sl_bb_percent | 7.5 |
| sl_woba | 0.346 |
| sl_xwoba | 0.34 |
| sl_xba | 0.251 |
| sl_xslg | 0.475 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 16.5 |
| sl_hard_hit_percent | 62.2 |
| sl_exit_velocity_avg | 96.4 |
| sl_launch_angle_avg | 6.1 |
| sl_whiff_percent | 37.4 |
| sl_swing_percent | 45.6 |
| at_bat_number | 78.0 |
| ab_pitcher | 573204.0 |
| ab_pitcher_name | Thielbar, Caleb |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 693304.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 10.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 10.0 |
| ab_event | strikeout |
| ab_event_description | Oneil Cruz called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 72.4 |
| ab_launch_angle_last | 27.0 |
| ab_hit_distance_last | 236.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 | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 10.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 10.0 |
| ab_pitch_count | 8.0 |
| ab_release_speed_avg | 85.2375 |
| ab_release_spin_rate_avg | 2412.5 |
| ab_effective_speed_avg | 85.2625 |
| ab_launch_speed_avg | 70.45 |
| ab_launch_angle_avg | 33.0 |
| ab_delta_run_exp_avg | -0.0334999999999999 |
| ab_delta_home_win_exp_avg | -0.00025 |
| ab_delta_pitcher_run_exp_avg | 0.0334999999999999 |
| ab_bat_speed_avg | 66.60000000000001 |
| ab_swing_length_avg | 6.533333333333334 |
| ab_launch_speed_max | 72.4 |
| ab_hit_distance_sc_max | 236.0 |
| ab_release_speed_max | 94.2 |
| ab_release_spin_rate_max | 2674.0 |
| ab_release_speed_min | 78.0 |
| ab_release_spin_rate_min | 2268.0 |
| ab_delta_run_exp_sum | -0.2679999999999999 |
| ab_delta_home_win_exp_sum | -0.002 |
| ab_delta_pitcher_run_exp_sum | 0.2679999999999999 |
| 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.090 | 0.000 | 0.000 | Hitting_2B | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.385 | 3.000 | 7.000 | Hitting_AB | 3.227 | 4.000 | -0.227 | -1.000 |
| predicted_AVG | 0.220 | 0.667 | 0.143 | Hitting_AVG | 0.148 | 0.000 | 0.519 | 0.667 |
| predicted_BB | 0.344 | 0.000 | 1.000 | Hitting_BB | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.560 | 2.000 | 1.000 | Hitting_H | 0.477 | 0.000 | 1.523 | 2.000 |
| predicted_HR | 0.130 | 1.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | 0.883 | 1.000 |
| predicted_OBP | 0.256 | 0.667 | 0.250 | Hitting_OBP | 0.246 | 0.000 | 0.420 | 0.667 |
| predicted_R | 0.393 | 1.000 | 1.000 | Hitting_R | 0.375 | 0.000 | 0.625 | 1.000 |
| predicted_RBI | 0.320 | 1.000 | 1.000 | Hitting_RBI | 0.312 | 0.000 | 0.688 | 1.000 |
| predicted_SLG | 0.355 | 1.667 | 0.143 | Hitting_SLG | 0.283 | 0.000 | 1.383 | 1.667 |
| predicted_SO | 0.680 | 0.000 | 1.000 | Hitting_SO | 0.648 | 1.000 | -0.648 | -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_H: 0.5600 -> 2.0000 (boost 1.4400, better) |
| Biggest Deboost | predicted_SO: 0.6800 -> 0.0000 (deboost -0.6800, 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.3850 -> 6.9433 (boost 3.5583, better) | predicted_AVG: 0.2200 -> 0.1858 (deboost -0.0342, 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.1858 -> 0.1517 (deboost -0.0341, 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.6225 -> 1.0000 (boost 0.3775, better) | predicted_SO: 1.4256 -> 1.0000 (deboost -0.4256, better) | AB rounded to 7 (raw=6.94), rates preserved: AVG=0.152 HR/AB=0.041 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8048 -> 1.0000 (boost 0.1952, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2215 -> 0.2500 (boost 0.0285, better) | predicted_SLG: 0.2987 -> 0.1430 (deboost -0.1557, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 5 | 2 | 3 | 3 | 2 | predicted_H: 1.0000 -> 2.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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1430 -> 0.2987 (boost 0.1557, better) | predicted_OBP: 0.2500 -> 0.2215 (deboost -0.0285, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "680779",
"player_name": "Henry Davis",
"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.09,
"predicted_3B": 0.0,
"predicted_AB": 3.385,
"predicted_AVG": 0.22,
"predicted_BB": 0.344,
"predicted_H": 0.56,
"predicted_HR": 0.13,
"predicted_OBP": 0.256,
"predicted_R": 0.393,
"predicted_RBI": 0.32,
"predicted_SLG": 0.355,
"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.1704,
"predicted_3B": 0.0013,
"predicted_AB": 6.9433,
"predicted_AVG": 0.1858,
"predicted_BB": 0.6185,
"predicted_H": 1.0252,
"predicted_HBP": 0.249,
"predicted_HR": 0.2774,
"predicted_OBP": 0.2407,
"predicted_R": 0.7695,
"predicted_RBI": 0.6529,
"predicted_SLG": 0.3255,
"predicted_SO": 1.4348
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.09,
"after": 0.1704,
"delta": 0.0804,
"percent_delta": 0.8933,
"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.385,
"after": 6.9433,
"delta": 3.5583,
"percent_delta": 1.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1858,
"delta": -0.0342,
"percent_delta": -0.1555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.6185,
"delta": 0.2745,
"percent_delta": 0.798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 1.0252,
"delta": 0.4652,
"percent_delta": 0.8307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2774,
"delta": 0.1474,
"percent_delta": 1.1338,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.256,
"after": 0.2407,
"delta": -0.0153,
"percent_delta": -0.0598,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 0.7695,
"delta": 0.3765,
"percent_delta": 0.958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.6529,
"delta": 0.3329,
"percent_delta": 1.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.355,
"after": 0.3255,
"delta": -0.0295,
"percent_delta": -0.0831,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 1.4348,
"delta": 0.7548,
"percent_delta": 1.11,
"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.385,
"after": 6.9433,
"delta": 3.5583,
"percent_delta": 1.0512,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1858,
"delta": -0.0342,
"percent_delta": -0.1555,
"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": 3,
"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.1704,
"predicted_3B": 0.0013,
"predicted_AB": 6.9433,
"predicted_AVG": 0.1517,
"predicted_BB": 0.6225,
"predicted_H": 1.0531,
"predicted_HBP": 0.249,
"predicted_HR": 0.2826,
"predicted_OBP": 0.2215,
"predicted_R": 0.8048,
"predicted_RBI": 0.6829,
"predicted_SLG": 0.2987,
"predicted_SO": 1.4256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1704,
"after": 0.1704,
"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.9433,
"after": 6.9433,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1858,
"after": 0.1517,
"delta": -0.0341,
"percent_delta": -0.1835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6185,
"after": 0.6225,
"delta": 0.004,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0252,
"after": 1.0531,
"delta": 0.0279,
"percent_delta": 0.0272,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.249,
"after": 0.249,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2774,
"after": 0.2826,
"delta": 0.0052,
"percent_delta": 0.0187,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2407,
"after": 0.2215,
"delta": -0.0192,
"percent_delta": -0.0798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7695,
"after": 0.8048,
"delta": 0.0353,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6529,
"after": 0.6829,
"delta": 0.03,
"percent_delta": 0.0459,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3255,
"after": 0.2987,
"delta": -0.0268,
"percent_delta": -0.0823,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4348,
"after": 1.4256,
"delta": -0.0092,
"percent_delta": -0.0064,
"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.1858,
"after": 0.1517,
"delta": -0.0341,
"percent_delta": -0.1835,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.94), rates preserved: AVG=0.152 HR/AB=0.041",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1704,
"after": 0.0,
"delta": -0.1704,
"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.9433,
"after": 7.0,
"delta": 0.0567,
"percent_delta": 0.0082,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6225,
"after": 1.0,
"delta": 0.3775,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0531,
"after": 1.0,
"delta": -0.0531,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.249,
"after": 0.0,
"delta": -0.249,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2826,
"after": 0.0,
"delta": -0.2826,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6829,
"after": 1.0,
"delta": 0.3171,
"percent_delta": 0.4643,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4256,
"after": 1.0,
"delta": -0.4256,
"percent_delta": -0.2985,
"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.6225,
"after": 1.0,
"delta": 0.3775,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4256,
"after": 1.0,
"delta": -0.4256,
"percent_delta": -0.2985,
"direction": "deboost",
"projection_effect": "better",
"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.500)",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.8048,
"after": 1.0,
"delta": 0.1952,
"percent_delta": 0.2425,
"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.8048,
"after": 1.0,
"delta": 0.1952,
"percent_delta": 0.2425,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1517,
"after": 0.143,
"delta": -0.0087,
"percent_delta": -0.0574,
"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.2215,
"after": 0.25,
"delta": 0.0285,
"percent_delta": 0.1287,
"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.2987,
"after": 0.143,
"delta": -0.1557,
"percent_delta": -0.5213,
"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.2215,
"after": 0.25,
"delta": 0.0285,
"percent_delta": 0.1287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2987,
"after": 0.143,
"delta": -0.1557,
"percent_delta": -0.5213,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"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": 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.1517,
"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.2215,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2987,
"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.143,
"after": 0.1517,
"delta": 0.0087,
"percent_delta": 0.0606,
"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.25,
"after": 0.2215,
"delta": -0.0285,
"percent_delta": -0.1141,
"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.143,
"after": 0.2987,
"delta": 0.1557,
"percent_delta": 1.0887,
"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.143,
"after": 0.2987,
"delta": 0.1557,
"percent_delta": 1.0887,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2215,
"delta": -0.0285,
"percent_delta": -0.1141,
"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.09,
"after": 0.0,
"delta": -0.09,
"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.385,
"after": 3.0,
"delta": -0.385,
"percent_delta": -0.1137,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1517,
"delta": -0.0683,
"percent_delta": -0.3105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.344,
"after": 0.0,
"delta": -0.344,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 2.0,
"delta": 1.44,
"percent_delta": 2.5714,
"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.256,
"after": 0.2215,
"delta": -0.0345,
"percent_delta": -0.1348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.393,
"after": 1.0,
"delta": 0.607,
"percent_delta": 1.5445,
"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.355,
"after": 0.2987,
"delta": -0.0563,
"percent_delta": -0.1586,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.56,
"after": 2.0,
"delta": 1.44,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.68,
"after": 0.0,
"delta": -0.68,
"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.090 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.385 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.344 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.256 | - |
| predicted_R | 0.393 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.355 | - |
| 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.170 | 0.080 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.943 | 3.558 |
| predicted_AVG | 0.186 | -0.034 |
| predicted_BB | 0.619 | 0.275 |
| predicted_H | 1.025 | 0.465 |
| predicted_HBP | 0.249 | - |
| predicted_HR | 0.277 | 0.147 |
| predicted_OBP | 0.241 | -0.015 |
| predicted_R | 0.769 | 0.376 |
| predicted_RBI | 0.653 | 0.333 |
| predicted_SLG | 0.326 | -0.029 |
| predicted_SO | 1.435 | 0.755 |
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.170 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.943 | 0.000 |
| predicted_AVG | 0.152 | -0.034 |
| predicted_BB | 0.623 | 0.004 |
| predicted_H | 1.053 | 0.028 |
| predicted_HBP | 0.249 | 0.000 |
| predicted_HR | 0.283 | 0.005 |
| predicted_OBP | 0.222 | -0.019 |
| predicted_R | 0.805 | 0.035 |
| predicted_RBI | 0.683 | 0.030 |
| predicted_SLG | 0.299 | -0.027 |
| predicted_SO | 1.426 | -0.009 |
AB rounded to 7 (raw=6.94), rates preserved: AVG=0.152 HR/AB=0.041
| 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 | 1.000 | - |
Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 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 | 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.170 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.057 |
| predicted_AVG | 0.143 | -0.009 |
| predicted_BB | 1.000 | 0.377 |
| predicted_H | 1.000 | -0.053 |
| predicted_HR | 0.000 | -0.283 |
| predicted_OBP | 0.250 | 0.028 |
| predicted_R | 1.000 | 0.195 |
| predicted_RBI | 1.000 | 0.317 |
| predicted_SLG | 0.143 | -0.156 |
| predicted_SO | 1.000 | -0.426 |
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 | 2.000 | 1.000 |
| HBP | 0.000 | 0.000 |
| HR | 1.000 | 1.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 | -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 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 0.000 | 5.000 | 0.0526 | 0.0526 | 0.2105 | 0.0526 | 0.0526 | 0.0526 | 0.0000 | 0.2632 |
| last_10 | 0.20 | 3 | - | 34.000 | 3.000 | 0.000 | 0.000 | 3.000 | 3.000 | 3.000 | 0.000 | 7.000 | 0.0882 | 0.0882 | 0.3529 | 0.0882 | 0.0882 | 0.0882 | 0.0000 | 0.2059 |
| season | 0.60 | 33 | - | 413.000 | 61.000 | 11.000 | 0.000 | 15.000 | 40.000 | 48.000 | 42.000 | 83.000 | 0.1477 | 0.2446 | 0.2833 | 0.1477 | 0.0363 | 0.0969 | 0.1017 | 0.2010 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2760 |
| predicted_3B | 0.0030 |
| predicted_AB | 11.6160 |
| predicted_AVG | 0.1409 |
| predicted_BB | 0.9790 |
| predicted_H | 1.6360 |
| predicted_HBP | 0.2490 |
| predicted_HR | 0.4710 |
| predicted_OBP | 0.2206 |
| predicted_R | 1.2640 |
| predicted_RBI | 1.0900 |
| predicted_SLG | 0.2868 |
| predicted_SO | 2.4260 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0900 | 0.2760 | 0.1704 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.3850 | 11.6160 | 6.9433 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1409 | 0.1858 | model_form_blend |
| predicted_BB | 0.3440 | 0.9790 | 0.6185 | model_form_blend |
| predicted_H | 0.5600 | 1.6360 | 1.0252 | model_form_blend |
| predicted_HBP | - | 0.2490 | 0.2490 | form_only |
| predicted_HR | 0.1300 | 0.4710 | 0.2774 | model_form_blend |
| predicted_OBP | 0.2560 | 0.2206 | 0.2407 | model_form_blend |
| predicted_R | 0.3930 | 1.2640 | 0.7695 | model_form_blend |
| predicted_RBI | 0.3200 | 1.0900 | 0.6529 | model_form_blend |
| predicted_SLG | 0.3550 | 0.2868 | 0.3255 | model_form_blend |
| predicted_SO | 0.6800 | 2.4260 | 1.4348 | 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 | 128 |
| Season rows before report date | 128 |
| 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 | 3 |
| AB | 3 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.148 |
| 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 | 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 | C |
| gameID | 20260526_CHC@PIT |
| game_type | full |
| mlbID | 680779 |
| playerID | 680779 |
| playerName | Henry Davis |
| pos | C |
| started | True |
| startingPosition | C |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-26 |
| game_pk | 823379.0 |
| sl_k_percent | 18.7 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.24 |
| sl_xwoba | 0.283 |
| sl_xba | 0.201 |
| sl_xslg | 0.334 |
| sl_sweet_spot_percent | 24.4 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 90.5 |
| sl_launch_angle_avg | 18.8 |
| sl_whiff_percent | 22.6 |
| sl_swing_percent | 52.8 |
| at_bat_number | 67.0 |
| ab_pitcher | 694037.0 |
| ab_pitcher_name | Palencia, Daniel |
| ab_home_team | PIT |
| ab_away_team | CHC |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 10.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 10.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Henry Davis lines out to left fielder Ian Happ. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 94.0 |
| ab_launch_angle_last | 20.0 |
| ab_hit_distance_last | 330.0 |
| ab_estimated_ba_last | 0.303 |
| ab_estimated_woba_last | 0.342 |
| ab_estimated_slg_last | 0.516 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 10.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 10.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 7.0 |
| ab_release_speed_avg | 97.35714285714286 |
| ab_release_spin_rate_avg | 2353.285714285714 |
| ab_effective_speed_avg | 98.68571428571428 |
| ab_launch_speed_avg | 86.55 |
| ab_launch_angle_avg | 22.5 |
| ab_delta_run_exp_avg | -0.0367142857142857 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.0367142857142857 |
| ab_bat_speed_avg | 62.95 |
| ab_swing_length_avg | 6.65 |
| ab_launch_speed_max | 94.0 |
| ab_hit_distance_sc_max | 330.0 |
| ab_release_speed_max | 102.5 |
| ab_release_spin_rate_max | 2420.0 |
| ab_release_speed_min | 91.5 |
| ab_release_spin_rate_min | 2257.0 |
| ab_delta_run_exp_sum | -0.257 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.257 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 3.000 | 3.000 | 3.000 | Pitching_BB | 0.818 | 1.000 | 2.182 | 2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.818 | 4.000 | -1.818 | -4.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 3.636 | 9.000 | -2.636 | -8.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.391 | 5.000 | 0.609 | 1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.909 | 2.000 | 0.091 | 4.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | neutral |
| Changed Metrics | 0 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 0 |
| Better Metrics | 0 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | 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. |
| 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": "694973",
"player_name": "Paul Skenes",
"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": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": "pitcher_quality_guardrail",
"description": "Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.0,
"after": 6.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": {}
},
{
"index": 3,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 3.0,
"predicted_ER": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"predicted_R": 0.0,
"predicted_SO": 6.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.0,
"after": 6.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": 3.0,
"after": 3.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.0,
"after": 6.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,
"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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 6.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 | 3.000 | 0.000 |
| predicted_ER | 0.000 | 0.000 |
| predicted_H | 1.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| 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 | 31.000 | 12.000 | 26.000 | 2.000 | 35.000 | 4.000 | 3.4839 | 0.9032 | 0.3871 | 0.8387 | 0.0645 | 1.1290 | 0.1290 |
| last_10 | 0.35 | 10 | 59.100 | 15.000 | 36.000 | 7.000 | 64.000 | 6.000 | 2.2753 | 0.7247 | 0.2528 | 0.6067 | 0.1180 | 1.0787 | 0.1011 |
| season | 0.20 | 11 | 60.000 | 20.000 | 40.000 | 9.000 | 65.000 | 6.000 | 3.0000 | 0.8167 | 0.3333 | 0.6667 | 0.1500 | 1.0833 | 0.1000 |
| Metric | Value |
|---|---|
| predicted_BB | 1.1080 |
| predicted_ER | 2.2460 |
| predicted_ERA | 3.3632 |
| predicted_H | 4.7600 |
| predicted_HR | 0.7150 |
| predicted_IP | 6.0000 |
| predicted_SO | 6.3290 |
| predicted_WHIP | 0.9761 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 1.1080 | 2.0200 | model_form_blend |
| predicted_ER | 0.0000 | 2.2460 | 1.1634 | model_form_blend |
| predicted_ERA | - | 3.3632 | 3.3632 | form_only |
| predicted_H | 1.0000 | 4.7600 | 2.9476 | model_form_blend |
| predicted_HR | 0.0000 | 0.7150 | 0.3703 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 6.0000 | 6.3290 | 6.1704 | model_form_blend |
| predicted_WHIP | - | 0.9761 | 0.9761 | 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.0 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 3 |
| SO | 6 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 24 |
| Pitching_ER | 4 |
| Pitching_ERA | 3.00 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 6 |
| Pitching_H | 9 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 98 |
| Pitching_R | 4 |
| Pitching_SO | 2 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260523_PIT@TOR |
| game_type | full |
| mlbID | 694973 |
| playerID | 694973 |
| playerName | Paul Skenes |
| pos | P |
| started | True |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-23 |
| game_pk | 822814.0 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 3.9 |
| sl_woba | 0.246 |
| sl_xwoba | 0.248 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 4.6 |
| sl_hard_hit_percent | 34.6 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 51.7 |
| sv_pitch_count | 98.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 92.8877551020408 |
| sv_release_spin_rate | 2117.8571428571427 |
| sv_effective_speed | 93.2357142857143 |
| sv_launch_speed | 85.02307692307693 |
| sv_launch_angle | 24.89743589743589 |
| sv_woba_value | 11.3 |
| sv_woba_denom | 24.0 |
| sv_delta_run_exp | 2.0850000000000004 |
| sv_delta_home_win_exp | 0.2069999999999999 |
| sl_avg_best_speed | 76.134018553 |
| sl_avg_hyper_speed | 93.412106026 |
| 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.400 | 0.000 | 0.600 | 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.400 | 0.000 | -0.400 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.976 | 1.000 | 0.024 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.240 | 1.000 | -1.240 | -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": "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": 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 | 3.000 | 4.000 | 3.000 | 5.000 | 0.000 | 5.4000 | 1.4000 | 0.6000 | 0.8000 | 0.6000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.200 | 3.000 | 4.000 | 4.000 | 11.000 | 0.000 | 2.5312 | 0.7500 | 0.2812 | 0.3750 | 0.3750 | 1.0312 | 0.0000 |
| season | 0.20 | 25 | 25.100 | 6.000 | 10.000 | 10.000 | 31.000 | 1.000 | 2.1316 | 0.7895 | 0.2368 | 0.3947 | 0.3947 | 1.2237 | 0.0395 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4250 |
| predicted_ER | 0.4440 |
| predicted_ERA | 3.9918 |
| predicted_H | 0.7570 |
| predicted_HR | 0.0700 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0000 |
| predicted_WHIP | 1.1813 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4250 | 0.7478 | model_form_blend |
| predicted_ER | 0.0000 | 0.4440 | 0.1948 | model_form_blend |
| predicted_ERA | - | 3.9918 | 3.9918 | form_only |
| predicted_H | 0.0000 | 0.7570 | 0.3321 | model_form_blend |
| predicted_HR | 0.0000 | 0.0700 | 0.0307 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0000 | 0.4387 | model_form_blend |
| predicted_WHIP | - | 1.1813 | 1.1813 | 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 | 1 |
| SO | 0 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.13 |
| 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 | 14 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260525_CHC@PIT |
| game_type | full |
| mlbID | 642397 |
| playerID | 642397 |
| playerName | Gregory Soto |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-25 |
| game_pk | 823380.0 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.204 |
| sl_xwoba | 0.235 |
| sl_sweet_spot_percent | 22.2 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 31.5 |
| sl_whiff_percent | 27.9 |
| sl_swing_percent | 42.0 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 87.80714285714285 |
| sv_release_spin_rate | 2475.5 |
| sv_effective_speed | 88.22857142857143 |
| sv_launch_speed | 87.76666666666667 |
| sv_launch_angle | 0.3333333333333333 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.753 |
| sv_delta_home_win_exp | 0.165 |
| sl_avg_best_speed | 71.866381538 |
| sl_avg_hyper_speed | 92.646318269 |
| 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.381 | 0.000 | -0.381 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.381 | 0.000 | 0.619 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.810 | 0.000 | 1.190 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.829 | 1.200 | 0.171 | -0.200 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.333 | 2.000 | 0.667 | 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": "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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": 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": 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 | 1.000 | - |
| predicted_H | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 6.200 | 1.000 | 3.000 | 0.000 | 6.000 | 1.000 | 1.3500 | 0.4500 | 0.1500 | 0.4500 | 0.0000 | 0.9000 | 0.1500 |
| last_10 | 0.35 | 10 | 11.100 | 1.000 | 4.000 | 3.000 | 9.000 | 1.000 | 0.7941 | 0.6176 | 0.0882 | 0.3529 | 0.2647 | 0.7941 | 0.0882 |
| season | 0.20 | 20 | 20.200 | 6.000 | 15.000 | 8.000 | 28.000 | 2.000 | 2.6129 | 1.1129 | 0.2903 | 0.7258 | 0.3871 | 1.3548 | 0.0968 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2990 |
| predicted_ER | 0.3520 |
| predicted_ERA | 2.9688 |
| predicted_H | 0.7800 |
| predicted_HR | 0.1340 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0120 |
| predicted_WHIP | 1.0108 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2990 | 0.1248 | model_form_blend |
| predicted_ER | 1.0000 | 0.3520 | 0.7296 | model_form_blend |
| predicted_ERA | - | 2.9688 | 2.9688 | form_only |
| predicted_H | 2.0000 | 0.7800 | 1.4910 | model_form_blend |
| predicted_HR | 0.0000 | 0.1340 | 0.0559 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.0120 | 1.5878 | model_form_blend |
| predicted_WHIP | - | 1.0108 | 1.0108 | 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 | 1 |
| ER | 1 |
| BB | 0 |
| SO | 2 |
| 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 | 5 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.48 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.2 |
| Pitching_Pitches | 18 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260524_PIT@TOR |
| game_type | full |
| mlbID | 682254 |
| playerID | 682254 |
| playerName | Mason Montgomery |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-24 |
| game_pk | 822813.0 |
| sl_k_percent | 32.6 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.293 |
| sl_xwoba | 0.31 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 44.0 |
| sl_whiff_percent | 35.2 |
| sl_swing_percent | 53.5 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 95.76111111111112 |
| sv_release_spin_rate | 2375.8888888888887 |
| sv_effective_speed | 97.07777777777778 |
| sv_launch_speed | 79.16666666666667 |
| sv_launch_angle | -29.33333333333333 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | -1.39 |
| sv_delta_home_win_exp | -0.1709999999999999 |
| sl_avg_best_speed | 75.1863868 |
| sl_avg_hyper_speed | 95.6503762 |
| 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.708 | 0.000 | 0.292 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.667 | 4.000 | 2.333 | -1.000 |
| predicted_H | 4.000 | 4.000 | 4.000 | Pitching_H | 1.125 | 3.000 | 2.875 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.137 | 0.100 | -0.137 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.458 | 0.000 | -1.458 | 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": "670990",
"player_name": "Yohan Ramírez",
"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": 3.0,
"predicted_H": 4.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": 3.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 3.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": 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": 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": 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": 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 | 3.000 | - |
| predicted_H | 4.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 | 5.000 | 7.000 | 2.000 | 5.000 | 2.000 | 10.3846 | 2.0769 | 1.1539 | 1.6154 | 0.4615 | 1.1539 | 0.4615 |
| last_10 | 0.35 | 10 | 10.200 | 12.000 | 14.000 | 7.000 | 13.000 | 2.000 | 10.1250 | 1.9688 | 1.1250 | 1.3125 | 0.6562 | 1.2188 | 0.1875 |
| season | 0.20 | 24 | 30.100 | 16.000 | 27.000 | 17.000 | 35.000 | 3.000 | 4.7473 | 1.4505 | 0.5275 | 0.8901 | 0.5604 | 1.1539 | 0.0989 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4840 |
| predicted_ER | 0.7970 |
| predicted_ERA | 6.9244 |
| predicted_H | 1.2150 |
| predicted_HR | 0.2270 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1100 |
| predicted_WHIP | 1.6399 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4840 | 0.7638 | model_form_blend |
| predicted_ER | 3.0000 | 0.7970 | 1.9917 | model_form_blend |
| predicted_ERA | - | 6.9244 | 6.9244 | form_only |
| predicted_H | 4.0000 | 1.2150 | 2.7254 | model_form_blend |
| predicted_HR | 0.0000 | 0.2270 | 0.1039 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.1100 | 0.5080 | model_form_blend |
| predicted_WHIP | - | 1.6399 | 1.6399 | 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 | 4 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 0 |
| HR | 0 |
| BF | 8 |
| Pitches | 29 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 4 |
| Pitching_ERA | 4.75 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 3 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 15 |
| Pitching_R | 4 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_CHC@PIT |
| game_type | full |
| mlbID | 670990 |
| playerID | 670990 |
| playerName | Yohan Ramírez |
| pos | P |
| started | False |
| startingPosition | P |
| team | PIT |
| teamID | 22 |
| game_date | 2026-05-27 |
| game_pk | 823376.0 |
| sl_k_percent | 26.3 |
| sl_bb_percent | 12.8 |
| sl_woba | 0.311 |
| sl_xwoba | 0.302 |
| sl_sweet_spot_percent | 30.7 |
| sl_barrel_batted_rate | 6.7 |
| sl_hard_hit_percent | 32.0 |
| sl_whiff_percent | 28.8 |
| sl_swing_percent | 46.1 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 90.40666666666668 |
| sv_release_spin_rate | 2413.0 |
| sv_effective_speed | 91.48666666666666 |
| sv_launch_speed | 85.18333333333334 |
| sv_launch_angle | 26.5 |
| sv_woba_value | 4.85 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 2.251 |
| sv_delta_home_win_exp | -0.34 |
| sl_avg_best_speed | 71.994743243 |
| sl_avg_hyper_speed | 92.60411 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | HOU 1 - 2 TEX | TEX | 0.512 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | HOU 1 - 2 TEX | TEX | - | 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.5000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5124 |
| 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.602 | 3.431 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 3 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 2 | 0.5124 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 1 | 2 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.6735960000000002,
"base_low_score_probability": 0.43315508021390375,
"low_score_signal_threshold": 0.5131550802139038,
"low_score_signal_strength": 0.24044091978609644,
"confidence": 0.8775460000000002,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.5550920000000004
},
"prediction": "low_scoring",
"expected_total_runs": 3,
"pre_simulation_expected_total_runs": 6.5,
"low_score_model_expected_total_runs": 6.5,
"final_simulation_total_runs": 3,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 30,
"near_bucket_sample_size": 30,
"medium_bucket_sample_size": 34,
"wide_bucket_sample_size": 35,
"global_sample_size": 35,
"bucket_scope": "near_0.05",
"sparse_bucket": false,
"empirical_hit_rate": 0.5,
"bayesian_hit_rate": 0.5,
"sample_weight": 0.5312,
"prior_strength": 18.0,
"reliability": 0.625,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5294,
"calibrated_pick_probability": 0.5124,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "TEX",
"games": 54,
"wins": 25,
"losses": 29,
"win_pct": 0.46296296296296297,
"runs_scored": 211,
"runs_allowed": 211,
"run_differential": 0,
"run_differential_per_game": 0.0,
"available": true
},
"away": {
"team": "HOU",
"games": 56,
"wins": 24,
"losses": 32,
"win_pct": 0.42857142857142855,
"runs_scored": 249,
"runs_allowed": 291,
"run_differential": -42,
"run_differential_per_game": -0.75,
"available": true
},
"run_differential_edge_per_game": 0.75,
"win_pct_edge": 0.0344,
"quality_edge": 0.8016,
"margin_adjustment": 0.3367,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 0.847,
"home_runs": 1.193,
"home_win_probability": 0.5294
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "TEX",
"guardrail_predicted_team": "TEX",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "TEX",
"output_opponent_team": "HOU",
"final_score_winner": "TEX",
"pre_simulation_winner": "TEX",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "HOU 1 - 2 TEX",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "HOU 1 - 2 TEX",
"winner": "TEX"
},
"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": "TEX",
"games": 54,
"wins": 25,
"losses": 29,
"win_pct": 0.46296296296296297,
"runs_scored": 211,
"runs_allowed": 211,
"run_differential": 0,
"run_differential_per_game": 0.0,
"available": true
},
"away": {
"team": "HOU",
"games": 56,
"wins": 24,
"losses": 32,
"win_pct": 0.42857142857142855,
"runs_scored": 249,
"runs_allowed": 291,
"run_differential": -42,
"run_differential_per_game": -0.75,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.3463,
"final_margin": 0.3463,
"margin_cap": 2.0,
"season_quality_edge": 0.8016,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.512418,
"final_confidence": 0.512418,
"confidence_cap": 0.63,
"score_gap": 0.3463,
"calibration_sample_size": 30,
"calibration_empirical_hit_rate": 0.5,
"calibration_bayesian_hit_rate": 0.5,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.8016,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "HOU 1 - 2 TEX",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "HOU 1 - 2 TEX",
"winner": "TEX"
},
"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": 2,
"confidence": 0.512418,
"home_win_probability": 0.512418,
"away_win_probability": 0.48758199999999996,
"predicted_score_text": "HOU 1 - 2 TEX",
"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": "HOU",
"original_runs": 1,
"run_delta": 0.0739,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 64.0,
"quality": 0.17983149749078145,
"contact": -0.005768746301981514,
"power": 0.03653100747189367,
"discipline": -0.05582095622243923,
"xwoba": 0.32935937499999995,
"recent_xwoba": 0.32935937499999995,
"barrel": 8.471875,
"ab_hard_contact": 0.33731481586643164,
"ab_bat_speed": 70.40261589867428,
"ab_strikeout_rate": 0.21341470622243935,
"available_players": 9,
"top_players": [
{
"player_id": "670541",
"player_name": "Yordan Alvarez",
"position": "DH",
"weight": 10.0,
"quality": 1.8458582169246371,
"contact": 2.0,
"power": 2.0,
"discipline": 1.0812879604672059,
"xwoba": 0.487,
"recent_xwoba": 0.487,
"barrel": 18.2,
"ab_hard_contact": 1.6320268175238462,
"ab_bat_speed": 75.16138402216232,
"ab_strikeout_rate": 0.1710691823899371,
"available": 1.0
},
{
"player_id": "543877",
"player_name": "Christian Vázquez",
"position": "C",
"weight": 6.0,
"quality": -0.4466774025752741,
"contact": -0.9001825865800854,
"power": -1.1800528261017782,
"discipline": 0.2859170274170275,
"xwoba": 0.263,
"recent_xwoba": 0.263,
"barrel": 2.3,
"ab_hard_contact": -0.8761041410832111,
"ab_bat_speed": 62.492710437710436,
"ab_strikeout_rate": 0.18686868686868685,
"available": 1.0
},
{
"player_id": "701358",
"player_name": "Cam Smith",
"position": "RF",
"weight": 7.0,
"quality": 0.4339462211598209,
"contact": 0.24403233962264242,
"power": 0.7743750293525578,
"discipline": -0.23733917340521107,
"xwoba": 0.343,
"recent_xwoba": 0.343,
"barrel": 13.8,
"ab_hard_contact": 1.1922624918130382,
"ab_bat_speed": 75.0981498951782,
"ab_strikeout_rate": 0.26855345911949685,
"available": 1.0
},
{
"player_id": "694728",
"player_name": "Brice Matthews",
"position": "2B",
"weight": 7.0,
"quality": -0.47628169389758,
"contact": -1.0813221500369534,
"power": -0.30839181700817425,
"discipline": -1.0682065779748704,
"xwoba": 0.268,
"recent_xwoba": 0.268,
"barrel": 7.8,
"ab_hard_contact": -1.2790744354016024,
"ab_bat_speed": 68.76010470559251,
"ab_strikeout_rate": 0.34870657797487065,
"available": 1.0
},
{
"player_id": "670623",
"player_name": "Isaac Paredes",
"position": "1B",
"weight": 8.0,
"quality": -0.30323260677842745,
"contact": -0.27089391650132205,
"power": -0.6678516685802497,
"discipline": 0.49045436507936496,
"xwoba": 0.31,
"recent_xwoba": 0.31,
"barrel": 4.7,
"ab_hard_contact": -0.18179527636691592,
"ab_bat_speed": 66.55884606481482,
"ab_strikeout_rate": 0.1684027777777778,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "543135",
"player_name": "Nathan Eovaldi",
"quality": -0.057692779170999055,
"contact": -0.39065777927593476,
"command": 0.5954206403529909,
"movement": -0.29610807170244924,
"xwoba": 0.32,
"whiff": 31.9,
"faced_est_woba": 0.32323578373250655,
"faced_launch_speed": 85.67049275582457,
"faced_strikeout_rate": 0.24176200253494937,
"faced_run_exp": -0.008522743447820752
}
},
"home": {
"team": "TEX",
"original_runs": 2,
"run_delta": 0.4208,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 60.0,
"quality": 0.3090782777713415,
"contact": 0.3429250720853953,
"power": 0.19113571913468974,
"discipline": -0.015535638291348594,
"xwoba": 0.32535000000000003,
"recent_xwoba": 0.32535000000000003,
"barrel": 7.595000000000001,
"ab_hard_contact": 0.12639057316995952,
"ab_bat_speed": 69.55614659098501,
"ab_strikeout_rate": 0.22687611448182488,
"available_players": 9,
"top_players": [
{
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"weight": 9.0,
"quality": 1.2385122646762816,
"contact": 1.4865973048552763,
"power": 1.3258615977803483,
"discipline": 0.26483239962651733,
"xwoba": 0.389,
"recent_xwoba": 0.389,
"barrel": 12.0,
"ab_hard_contact": 0.5225652889402749,
"ab_bat_speed": 71.20051237161532,
"ab_strikeout_rate": 0.19281045751633988,
"available": 1.0
},
{
"player_id": "673962",
"player_name": "Josh Jung",
"position": "3B",
"weight": 9.0,
"quality": 0.7186228617322986,
"contact": 1.3423841473214295,
"power": 0.4703066460404915,
"discipline": 0.3396726190476191,
"xwoba": 0.367,
"recent_xwoba": 0.367,
"barrel": 5.7,
"ab_hard_contact": 0.677751968428854,
"ab_bat_speed": 70.12259317129629,
"ab_strikeout_rate": 0.16354166666666667,
"available": 1.0
},
{
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "2B",
"weight": 3.0,
"quality": -0.03627949783549782,
"contact": -1.8771142857142846,
"power": -1.6439809523809514,
"discipline": -1.8599761904761902,
"xwoba": 0.144,
"recent_xwoba": 0.144,
"barrel": 0.0,
"ab_hard_contact": -2.0,
"ab_bat_speed": 57.285,
"ab_strikeout_rate": 0.3333333333333333,
"available": 1.0
},
{
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "DH",
"weight": 6.0,
"quality": 0.2604904666900818,
"contact": 0.49194753422619086,
"power": 0.24566251110717544,
"discipline": 0.5473075396825398,
"xwoba": 0.345,
"recent_xwoba": 0.345,
"barrel": 7.5,
"ab_hard_contact": -0.09055930166603625,
"ab_bat_speed": 69.94865658068782,
"ab_strikeout_rate": 0.2232638888888889,
"available": 1.0
},
{
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "LF",
"weight": 5.0,
"quality": 0.027547252164780475,
"contact": 0.6426072204585551,
"power": -0.8671387362961592,
"discipline": 1.043700176366843,
"xwoba": 0.35,
"recent_xwoba": 0.35,
"barrel": 0.0,
"ab_hard_contact": 0.30713003598154115,
"ab_bat_speed": 69.76881410256411,
"ab_strikeout_rate": 0.16172839506172837,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "681293",
"player_name": "Spencer Arrighetti",
"quality": -0.19246379200676805,
"contact": -0.22587757767307654,
"command": -0.12257327704350307,
"movement": -0.7368826714235686,
"xwoba": 0.343,
"whiff": 27.7,
"faced_est_woba": 0.3496113777616747,
"faced_launch_speed": 83.80140903618225,
"faced_strikeout_rate": 0.22619348445435403,
"faced_run_exp": 0.011531373306376928
}
}
},
"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": 2,
"predicted_score_text": "HOU 1 - 2 TEX",
"confidence": 0.512418,
"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": 2,
"score_text": "HOU 1 - 2 TEX",
"winner": "TEX"
},
"final_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "HOU 1 - 2 TEX",
"winner": "TEX"
},
"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 HOU | True | 1.0105 | 1.0105 | 1 | 9 | 0 |
| Home TEX | True | 1.0230 | 1.0230 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Jeremy Peña | 179 | 1.0166 | 0.2217 | positive_batter_regression | 0.3410 | 0.2980 | 0.4220 | 3.30 | 27.90 | 84.90 | 20.70 | 25.90 | 16 | 4.90 | 1.3143 |
| 1B | Isaac Paredes | 102 | 0.9865 | -0.1794 | neutral | 0.3100 | 0.2400 | 0.3550 | 4.70 | 27.30 | 87.10 | 25 | 16.10 | 15.90 | 8.70 | -0.2571 |
| CF | Taylor Trammell | 231 | 0.9803 | -0.2621 | negative_batter_regression | 0.2880 | 0.2210 | 0.3290 | 4.50 | 40.90 | 90.60 | 7.30 | 33.90 | 27.80 | 11.10 | -2 |
| DH | Yordan Alvarez | 21 | 1.1500 | 2 | positive_batter_regression | 0.4870 | 0.3450 | 0.7280 | 18.20 | 52.50 | 94.30 | 19.60 | 19.70 | 16.70 | 14.60 | 1.3429 |
| RF | Cam Smith | 135 | 1.0600 | 0.8005 | positive_batter_regression | 0.3430 | 0.2450 | 0.4490 | 13.80 | 43.50 | 88.10 | 10.80 | 31.40 | 27.20 | 10.20 | 1.3714 |
| 3B | Braden Shewmake | 169 | 0.9811 | -0.2527 | negative_batter_regression | 0.2760 | 0.2470 | 0.3800 | 5.60 | 32.70 | 89.60 | 13 | 21.90 | 16.40 | 1.50 | -1.6000 |
| 2B | Brice Matthews | 361 | 0.9750 | -0.3329 | neutral | 0.2680 | 0.1960 | 0.3490 | 7.80 | 38.90 | 88.50 | 10.80 | 37.30 | 32 | 6.80 | 0 |
| LF | Zach Dezenzo | 271 | 0.9848 | -0.2021 | negative_batter_regression | 0.2700 | 0.1930 | 0.3480 | 16 | 32 | 85.10 | 13.10 | 33.80 | 35.60 | 8.90 | -0.9143 |
| C | Christian Vázquez | 98 | 0.9600 | -0.5332 | negative_batter_regression | 0.2630 | 0.2200 | 0.2990 | 2.30 | 25.60 | 87 | 12.20 | 19.50 | 15.20 | 8 | -1.8286 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | Brandon Nimmo | 33 | 1.1287 | 1.7165 | positive_batter_regression | 0.3890 | 0.2990 | 0.5230 | 12 | 51.90 | 91.80 | 10 | 22.40 | 19.70 | 9.60 | 1.2571 |
| 3B | Josh Jung | 81 | 1.0726 | 0.9680 | neutral | 0.3670 | 0.3130 | 0.4700 | 5.70 | 46.50 | 90 | 11 | 17.10 | 14.30 | 7.40 | 0.1429 |
| LF | Alejandro Osuna | 242 | 1.0086 | 0.1147 | neutral | 0.3500 | 0.2770 | 0.3340 | 0 | 36.40 | 88.40 | 6.20 | 16.50 | 15.50 | 13.10 | 0.0571 |
| DH | Joc Pederson | 228 | 1.0330 | 0.4407 | neutral | 0.3450 | 0.2430 | 0.3890 | 7.50 | 48.40 | 91.60 | 16.10 | 31.30 | 22.40 | 15.10 | 0.4857 |
| C | Kyle Higashioka | 300 | 0.9881 | -0.1584 | neutral | 0.2760 | 0.2120 | 0.3360 | 10.50 | 36.80 | 88.20 | 13.90 | 32.10 | 28.60 | 7.70 | 0.0857 |
| CF | Evan Carter | 47 | 1.0024 | 0.0322 | neutral | 0.3070 | 0.2100 | 0.3630 | 8.30 | 40.50 | 88.50 | 19.10 | 25 | 21.40 | 13.40 | 0.4000 |
| SS | Ezequiel Duran | 71 | 1.0081 | 0.1085 | negative_batter_regression | 0.3160 | 0.2570 | 0.3910 | 7.30 | 42.70 | 91.20 | 13.80 | 30.70 | 23.60 | 8.10 | -0.9714 |
| 1B | Jake Burger | 99 | 1.0155 | 0.2068 | neutral | 0.3060 | 0.2410 | 0.4150 | 9.90 | 48.90 | 90.30 | 12.20 | 35.70 | 26.50 | 6.20 | -0.3429 |
| 2B | Nicky Lopez | 353 | 0.9502 | -0.6646 | positive_batter_regression | 0.1440 | 0.1600 | 0.1660 | 0 | 33.30 | 88.30 | -20.20 | 30.80 | 40 | 0 | 2 |
{
"home": {
"applied": true,
"offense_factor": 1.023,
"raw_average_factor": 1.023,
"team_espn_average_rank": 161.56,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "RF",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"offense_factor": 1.1287,
"quality_score": 1.7165,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "607043",
"espn_id": 32159,
"player_name": "Brandon Nimmo",
"team": "TEX",
"role": "batter",
"espn_rank": 33,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 33,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 206.0,
"ab_rank": 34,
"r_value": 23.0,
"r_rank": 106,
"h_value": 55.0,
"h_rank": 36,
"avg_value": 0.2669902,
"avg_rank": 55.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 19.0,
"rbi_rank": 152,
"tb_value": 87.0,
"tb_rank": 397,
"bb_value": 22.0,
"bb_rank": 68,
"so_value": 46.0,
"so_rank": 85,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3476394,
"obp_rank": "58",
"slg_value": 0.42233,
"slg_rank": "77",
"ops_value": 0.7699694,
"ops_rank": 68.0,
"war_value": 1.88,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 223.0,
"k_percent": 19.7,
"bb_percent": 9.6,
"woba": 0.345,
"xwoba": 0.389,
"xba": 0.299,
"xslg": 0.523,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 12.0,
"hard_hit_percent": 51.9,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 10.0,
"whiff_percent": 22.4,
"swing_percent": 49.1
},
"components": {
"expected_quality": 1.7913,
"regression_edge": 1.2571,
"xwoba_edge": 2.4,
"xba_edge": 1.7714,
"xslg_edge": 2.1357,
"barrel_edge": 1.1,
"hard_hit_edge": 1.85,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "673962",
"player_name": "Josh Jung",
"offense_factor": 1.0726,
"quality_score": 0.968,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "673962",
"espn_id": 42437,
"player_name": "Josh Jung",
"team": "TEX",
"role": "batter",
"espn_rank": 81,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 81,
"gp_value": 50.0,
"gp_rank": 135,
"ab_value": 189.0,
"ab_rank": 91,
"r_value": 23.0,
"r_rank": 106,
"h_value": 57.0,
"h_rank": 28,
"avg_value": 0.3015873,
"avg_rank": 13.0,
"2b_value": 14.0,
"2b_rank": 13,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 86.0,
"tb_rank": 703,
"bb_value": 15.0,
"bb_rank": 150,
"so_value": 30.0,
"so_rank": 203,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3574879,
"obp_rank": "40",
"slg_value": 0.4550264,
"slg_rank": "53",
"ops_value": 0.8125143,
"ops_rank": 46.0,
"war_value": 1.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 14.3,
"bb_percent": 7.4,
"woba": 0.362,
"xwoba": 0.367,
"xba": 0.313,
"xslg": 0.47,
"sweet_spot_percent": 39.5,
"barrel_batted_rate": 5.7,
"hard_hit_percent": 46.5,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 11.0,
"whiff_percent": 17.1,
"swing_percent": 47.3
},
"components": {
"expected_quality": 1.2466,
"regression_edge": 0.1429,
"xwoba_edge": 1.7714,
"xba_edge": 2.1714,
"xslg_edge": 1.3786,
"barrel_edge": -0.3,
"hard_hit_edge": 1.0786,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 1.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"offense_factor": 1.0086,
"quality_score": 0.1147,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696030",
"espn_id": 4916547,
"player_name": "Alejandro Osuna",
"team": "TEX",
"role": "batter",
"espn_rank": 242,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 242,
"gp_value": 30.0,
"gp_rank": 316,
"ab_value": 71.0,
"ab_rank": 333,
"r_value": 9.0,
"r_rank": 306,
"h_value": 19.0,
"h_rank": 296,
"avg_value": 0.2676056,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 7.0,
"rbi_rank": 321,
"tb_value": 21.0,
"tb_rank": 2112,
"bb_value": 11.0,
"bb_rank": 218,
"so_value": 13.0,
"so_rank": 369,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.4022988,
"obp_rank": "-",
"slg_value": 0.2957746,
"slg_rank": "-",
"ops_value": 0.6980734,
"ops_rank": null,
"war_value": 0.23,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 78.0,
"k_percent": 15.5,
"bb_percent": 13.1,
"woba": 0.348,
"xwoba": 0.35,
"xba": 0.277,
"xslg": 0.334,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 6.2,
"whiff_percent": 16.5,
"swing_percent": 47.4
},
"components": {
"expected_quality": 0.287,
"regression_edge": 0.0571,
"xwoba_edge": 1.2857,
"xba_edge": 1.1429,
"xslg_edge": -0.5643,
"barrel_edge": -1.5667,
"hard_hit_edge": -0.3643,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "592626",
"player_name": "Joc Pederson",
"offense_factor": 1.033,
"quality_score": 0.4407,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "592626",
"espn_id": 31392,
"player_name": "Joc Pederson",
"team": "TEX",
"role": "batter",
"espn_rank": 228,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 228,
"gp_value": 51.0,
"gp_rank": 117,
"ab_value": 128.0,
"ab_rank": 210,
"r_value": 20.0,
"r_rank": 151,
"h_value": 32.0,
"h_rank": 190,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 16.0,
"rbi_rank": 192,
"tb_value": 55.0,
"tb_rank": 998,
"bb_value": 23.0,
"bb_rank": 59,
"so_value": 34.0,
"so_rank": 167,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3612903,
"obp_rank": "-",
"slg_value": 0.4296875,
"slg_rank": "-",
"ops_value": 0.7909778,
"ops_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 148.0,
"k_percent": 22.4,
"bb_percent": 15.1,
"woba": 0.328,
"xwoba": 0.345,
"xba": 0.243,
"xslg": 0.389,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 48.4,
"exit_velocity_avg": 91.6,
"launch_angle_avg": 16.1,
"whiff_percent": 31.3,
"swing_percent": 43.8
},
"components": {
"expected_quality": 0.6826,
"regression_edge": 0.4857,
"xwoba_edge": 1.1429,
"xba_edge": 0.1714,
"xslg_edge": 0.2214,
"barrel_edge": 0.1,
"hard_hit_edge": 1.35,
"exit_velocity_edge": 1.12,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "543309",
"player_name": "Kyle Higashioka",
"offense_factor": 0.9881,
"quality_score": -0.1584,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543309",
"espn_id": 30545,
"player_name": "Kyle Higashioka",
"team": "TEX",
"role": "batter",
"espn_rank": 300,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 300,
"gp_value": 27.0,
"gp_rank": 334,
"ab_value": 83.0,
"ab_rank": 310,
"r_value": 9.0,
"r_rank": 306,
"h_value": 17.0,
"h_rank": 313,
"avg_value": 0.2048192,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 9.0,
"rbi_rank": 288,
"tb_value": 27.0,
"tb_rank": 1589,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 26.0,
"so_rank": 235,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2747252,
"obp_rank": "-",
"slg_value": 0.3253012,
"slg_rank": "-",
"ops_value": 0.6000264,
"ops_rank": null,
"war_value": 0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 84.0,
"k_percent": 28.6,
"bb_percent": 7.7,
"woba": 0.273,
"xwoba": 0.276,
"xba": 0.212,
"xslg": 0.336,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 10.5,
"hard_hit_percent": 36.8,
"exit_velocity_avg": 88.2,
"launch_angle_avg": 13.9,
"whiff_percent": 32.1,
"swing_percent": 44.7
},
"components": {
"expected_quality": -0.4234,
"regression_edge": 0.0857,
"xwoba_edge": -0.8286,
"xba_edge": -0.7143,
"xslg_edge": -0.5357,
"barrel_edge": 0.7667,
"hard_hit_edge": -0.3071,
"exit_velocity_edge": -0.24,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "694497",
"player_name": "Evan Carter",
"offense_factor": 1.0024,
"quality_score": 0.0322,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694497",
"espn_id": 4917921,
"player_name": "Evan Carter",
"team": "TEX",
"role": "batter",
"espn_rank": 47,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 47,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 160.0,
"ab_rank": 155,
"r_value": 21.0,
"r_rank": 133,
"h_value": 28.0,
"h_rank": 215,
"avg_value": 0.175,
"avg_rank": 171.0,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 18.0,
"rbi_rank": 166,
"tb_value": 55.0,
"tb_rank": 735,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 43.0,
"so_rank": 103,
"sb_value": 9.0,
"sb_rank": 25,
"obp_value": 0.2925531,
"obp_rank": "133",
"slg_value": 0.34375,
"slg_rank": "139",
"ops_value": 0.6363031,
"ops_rank": 143.0,
"war_value": 1.62,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 180.0,
"k_percent": 21.4,
"bb_percent": 13.4,
"woba": 0.293,
"xwoba": 0.307,
"xba": 0.21,
"xslg": 0.363,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 40.5,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 19.1,
"whiff_percent": 25.0,
"swing_percent": 40.9
},
"components": {
"expected_quality": -0.0194,
"regression_edge": 0.4,
"xwoba_edge": 0.0571,
"xba_edge": -0.7714,
"xslg_edge": -0.15,
"barrel_edge": 0.2778,
"hard_hit_edge": 0.2214,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.3167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"offense_factor": 1.0081,
"quality_score": 0.1085,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677649",
"espn_id": 42457,
"player_name": "Ezequiel Duran",
"team": "TEX",
"role": "batter",
"espn_rank": 71,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 71,
"gp_value": 47.0,
"gp_rank": 169,
"ab_value": 147.0,
"ab_rank": 178,
"r_value": 22.0,
"r_rank": 120,
"h_value": 41.0,
"h_rank": 128,
"avg_value": 0.2789115,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 26.0,
"rbi_rank": 78,
"tb_value": 67.0,
"tb_rank": 695,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 39.0,
"so_rank": 131,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.4557823,
"slg_rank": "-",
"ops_value": 0.7891156,
"ops_rank": null,
"war_value": 1.28,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 152.0,
"k_percent": 23.6,
"bb_percent": 8.1,
"woba": 0.35,
"xwoba": 0.316,
"xba": 0.257,
"xslg": 0.391,
"sweet_spot_percent": 35.5,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 42.7,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 13.8,
"whiff_percent": 30.7,
"swing_percent": 49.3
},
"components": {
"expected_quality": 0.3408,
"regression_edge": -0.9714,
"xwoba_edge": 0.3143,
"xba_edge": 0.5714,
"xslg_edge": 0.25,
"barrel_edge": 0.0556,
"hard_hit_edge": 0.5357,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.3667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "669394",
"player_name": "Jake Burger",
"offense_factor": 1.0155,
"quality_score": 0.2068,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669394",
"espn_id": 39882,
"player_name": "Jake Burger",
"team": "TEX",
"role": "batter",
"espn_rank": 99,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 99,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 200.0,
"ab_rank": 51,
"r_value": 25.0,
"r_rank": 81,
"h_value": 47.0,
"h_rank": 87,
"avg_value": 0.235,
"avg_rank": 106.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 10.0,
"hr_rank": 36,
"rbi_value": 36.0,
"rbi_rank": 16,
"tb_value": 85.0,
"tb_rank": 618,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 58.0,
"so_rank": 27,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2837209,
"obp_rank": "146",
"slg_value": 0.425,
"slg_rank": "73",
"ops_value": 0.7087209,
"ops_rank": 99.0,
"war_value": 1.0,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 203.0,
"k_percent": 26.5,
"bb_percent": 6.2,
"woba": 0.318,
"xwoba": 0.306,
"xba": 0.241,
"xslg": 0.415,
"sweet_spot_percent": 31.9,
"barrel_batted_rate": 9.9,
"hard_hit_percent": 48.9,
"exit_velocity_avg": 90.3,
"launch_angle_avg": 12.2,
"whiff_percent": 35.7,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.3164,
"regression_edge": -0.3429,
"xwoba_edge": 0.0286,
"xba_edge": 0.1143,
"xslg_edge": 0.5929,
"barrel_edge": 0.6333,
"hard_hit_edge": 1.4214,
"exit_velocity_edge": 0.6,
"sweet_spot_edge": -0.2333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "670032",
"player_name": "Nicky Lopez",
"offense_factor": 0.9502,
"quality_score": -0.6646,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "670032",
"espn_id": 38106,
"player_name": "Nicky Lopez",
"team": "TEX",
"role": "batter",
"espn_rank": 353,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 353,
"gp_value": 5.0,
"gp_rank": 484,
"ab_value": 8.0,
"ab_rank": 493,
"r_value": 1.0,
"r_rank": 457,
"h_value": 0.0,
"h_rank": 510,
"avg_value": 0.0,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 450,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 0.0,
"rbi_rank": 477,
"tb_value": 0.0,
"tb_rank": 2438,
"bb_value": 0.0,
"bb_rank": 484,
"so_value": 2.0,
"so_rank": 490,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.0,
"obp_rank": "-",
"slg_value": 0.0,
"slg_rank": "-",
"ops_value": 0.0,
"ops_rank": null,
"war_value": -0.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 5.0,
"k_percent": 40.0,
"bb_percent": 0.0,
"woba": 0.0,
"xwoba": 0.144,
"xba": 0.16,
"xslg": 0.166,
"sweet_spot_percent": 0.0,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 33.3,
"exit_velocity_avg": 88.3,
"launch_angle_avg": -20.2,
"whiff_percent": 30.8,
"swing_percent": 61.9
},
"components": {
"expected_quality": -2.043,
"regression_edge": 2.0,
"xwoba_edge": -2.5,
"xba_edge": -2.2,
"xslg_edge": -2.5,
"barrel_edge": -1.5667,
"hard_hit_edge": -0.8071,
"exit_velocity_edge": -0.2,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0105,
"raw_average_factor": 1.0105,
"team_espn_average_rank": 174.11,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "665161",
"player_name": "Jeremy Peña",
"offense_factor": 1.0166,
"quality_score": 0.2217,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665161",
"espn_id": 41273,
"player_name": "Jeremy Pena",
"team": "HOU",
"role": "batter",
"espn_rank": 179,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 179,
"gp_value": 19.0,
"gp_rank": 374,
"ab_value": 78.0,
"ab_rank": 320,
"r_value": 11.0,
"r_rank": 272,
"h_value": 19.0,
"h_rank": 296,
"avg_value": 0.2435897,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 5.0,
"rbi_rank": 360,
"tb_value": 26.0,
"tb_rank": 1774,
"bb_value": 4.0,
"bb_rank": 360,
"so_value": 13.0,
"so_rank": 369,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3023255,
"obp_rank": "-",
"slg_value": 0.3333333,
"slg_rank": "-",
"ops_value": 0.6356588,
"ops_rank": null,
"war_value": 0.46,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 77.0,
"k_percent": 16.0,
"bb_percent": 4.9,
"woba": 0.295,
"xwoba": 0.341,
"xba": 0.298,
"xslg": 0.422,
"sweet_spot_percent": 37.7,
"barrel_batted_rate": 3.3,
"hard_hit_percent": 27.9,
"exit_velocity_avg": 84.9,
"launch_angle_avg": 20.7,
"whiff_percent": 25.9,
"swing_percent": 55.5
},
"components": {
"expected_quality": 0.3588,
"regression_edge": 1.3143,
"xwoba_edge": 1.0286,
"xba_edge": 1.7429,
"xslg_edge": 0.6929,
"barrel_edge": -0.8333,
"hard_hit_edge": -1.5786,
"exit_velocity_edge": -1.56,
"sweet_spot_edge": 0.7333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "670623",
"player_name": "Isaac Paredes",
"offense_factor": 0.9865,
"quality_score": -0.1794,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "670623",
"espn_id": 39706,
"player_name": "Isaac Paredes",
"team": "HOU",
"role": "batter",
"espn_rank": 102,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 102,
"gp_value": 51.0,
"gp_rank": 117,
"ab_value": 184.0,
"ab_rank": 109,
"r_value": 19.0,
"r_rank": 161,
"h_value": 44.0,
"h_rank": 108,
"avg_value": 0.2391304,
"avg_rank": 101.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 20.0,
"rbi_rank": 135,
"tb_value": 67.0,
"tb_rank": 885,
"bb_value": 18.0,
"bb_rank": 115,
"so_value": 33.0,
"so_rank": 177,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3301435,
"obp_rank": "79",
"slg_value": 0.3641304,
"slg_rank": "123",
"ops_value": 0.6942739,
"ops_rank": 114.0,
"war_value": 0.99,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 204.0,
"k_percent": 15.9,
"bb_percent": 8.7,
"woba": 0.319,
"xwoba": 0.31,
"xba": 0.24,
"xslg": 0.355,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 27.3,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 25.0,
"whiff_percent": 16.1,
"swing_percent": 44.1
},
"components": {
"expected_quality": -0.1831,
"regression_edge": -0.2571,
"xwoba_edge": 0.1429,
"xba_edge": 0.0857,
"xslg_edge": -0.2643,
"barrel_edge": -0.5222,
"hard_hit_edge": -1.6643,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "666211",
"player_name": "Taylor Trammell",
"offense_factor": 0.9803,
"quality_score": -0.2621,
"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": 231,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 231,
"gp_value": 12.0,
"gp_rank": 421,
"ab_value": 35.0,
"ab_rank": 407,
"r_value": 5.0,
"r_rank": 375,
"h_value": 13.0,
"h_rank": 356,
"avg_value": 0.3714285,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 4.0,
"rbi_rank": 383,
"tb_value": 17.0,
"tb_rank": 1946,
"bb_value": 4.0,
"bb_rank": 360,
"so_value": 11.0,
"so_rank": 390,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.4358974,
"obp_rank": "-",
"slg_value": 0.4857142,
"slg_rank": "-",
"ops_value": 0.9216116,
"ops_rank": null,
"war_value": 0.26,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 35.0,
"k_percent": 27.8,
"bb_percent": 11.1,
"woba": 0.383,
"xwoba": 0.288,
"xba": 0.221,
"xslg": 0.329,
"sweet_spot_percent": 31.8,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 40.9,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 7.3,
"whiff_percent": 33.9,
"swing_percent": 45.2
},
"components": {
"expected_quality": -0.3517,
"regression_edge": -2.0,
"xwoba_edge": -0.4857,
"xba_edge": -0.4571,
"xslg_edge": -0.6357,
"barrel_edge": -0.5667,
"hard_hit_edge": 0.2786,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": -0.25,
"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": 21,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 21,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 202.0,
"ab_rank": 42,
"r_value": 36.0,
"r_rank": 17,
"h_value": 63.0,
"h_rank": 5,
"avg_value": 0.3118811,
"avg_rank": 6.0,
"2b_value": 11.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 20.0,
"hr_rank": 2,
"rbi_value": 39.0,
"rbi_rank": 9,
"tb_value": 134.0,
"tb_rank": 361,
"bb_value": 36.0,
"bb_rank": 12,
"so_value": 41.0,
"so_rank": 118,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.4221311,
"obp_rank": "2",
"slg_value": 0.6633663,
"slg_rank": "1",
"ops_value": 1.0854974,
"ops_rank": 1.0,
"war_value": 2.17,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 227.0,
"k_percent": 16.7,
"bb_percent": 14.6,
"woba": 0.44,
"xwoba": 0.487,
"xba": 0.345,
"xslg": 0.728,
"sweet_spot_percent": 45.6,
"barrel_batted_rate": 18.2,
"hard_hit_percent": 52.5,
"exit_velocity_avg": 94.3,
"launch_angle_avg": 19.6,
"whiff_percent": 19.7,
"swing_percent": 42.9
},
"components": {
"expected_quality": 2.3682,
"regression_edge": 1.3429,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 2.4778,
"hard_hit_edge": 1.9357,
"exit_velocity_edge": 2.2,
"sweet_spot_edge": 2.05,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "701358",
"player_name": "Cam Smith",
"offense_factor": 1.06,
"quality_score": 0.8005,
"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": 135,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 135,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 182.0,
"ab_rank": 111,
"r_value": 24.0,
"r_rank": 96,
"h_value": 38.0,
"h_rank": 149,
"avg_value": 0.2087912,
"avg_rank": 153.0,
"2b_value": 7.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 18.0,
"rbi_rank": 166,
"tb_value": 60.0,
"tb_rank": 959,
"bb_value": 21.0,
"bb_rank": 76,
"so_value": 58.0,
"so_rank": 27,
"sb_value": 7.0,
"sb_rank": 42,
"obp_value": 0.3014354,
"obp_rank": "126",
"slg_value": 0.3296703,
"slg_rank": "148",
"ops_value": 0.6311057,
"ops_rank": 146.0,
"war_value": 0.74,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 202.0,
"k_percent": 27.2,
"bb_percent": 10.2,
"woba": 0.295,
"xwoba": 0.343,
"xba": 0.245,
"xslg": 0.449,
"sweet_spot_percent": 32.3,
"barrel_batted_rate": 13.8,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 88.1,
"launch_angle_avg": 10.8,
"whiff_percent": 31.4,
"swing_percent": 46.0
},
"components": {
"expected_quality": 0.7906,
"regression_edge": 1.3714,
"xwoba_edge": 1.0857,
"xba_edge": 0.2286,
"xslg_edge": 1.0786,
"barrel_edge": 1.5,
"hard_hit_edge": 0.65,
"exit_velocity_edge": -0.28,
"sweet_spot_edge": -0.1667,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "669699",
"player_name": "Braden Shewmake",
"offense_factor": 0.9811,
"quality_score": -0.2527,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "669699",
"espn_id": 42408,
"player_name": "Braden Shewmake",
"team": "HOU",
"role": "batter",
"espn_rank": 169,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 169,
"gp_value": 25.0,
"gp_rank": 347,
"ab_value": 66.0,
"ab_rank": 342,
"r_value": 7.0,
"r_rank": 344,
"h_value": 18.0,
"h_rank": 304,
"avg_value": 0.2727272,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 8.0,
"rbi_rank": 302,
"tb_value": 30.0,
"tb_rank": 1473,
"bb_value": 1.0,
"bb_rank": 439,
"so_value": 11.0,
"so_rank": 390,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2794117,
"obp_rank": "-",
"slg_value": 0.4545454,
"slg_rank": "-",
"ops_value": 0.7339571,
"ops_rank": null,
"war_value": 0.51,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 64.0,
"k_percent": 16.4,
"bb_percent": 1.5,
"woba": 0.332,
"xwoba": 0.276,
"xba": 0.247,
"xslg": 0.38,
"sweet_spot_percent": 27.3,
"barrel_batted_rate": 5.6,
"hard_hit_percent": 32.7,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 13.0,
"whiff_percent": 21.9,
"swing_percent": 64.6
},
"components": {
"expected_quality": -0.3924,
"regression_edge": -1.6,
"xwoba_edge": -0.8286,
"xba_edge": 0.2857,
"xslg_edge": 0.0929,
"barrel_edge": -0.3222,
"hard_hit_edge": -0.8929,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -1.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "694728",
"player_name": "Brice Matthews",
"offense_factor": 0.975,
"quality_score": -0.3329,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "694728",
"espn_id": 4838117,
"player_name": "Brice Matthews",
"team": "HOU",
"role": "batter",
"espn_rank": 361,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 361,
"gp_value": 47.0,
"gp_rank": 169,
"ab_value": 138.0,
"ab_rank": 196,
"r_value": 14.0,
"r_rank": 227,
"h_value": 29.0,
"h_rank": 211,
"avg_value": 0.2101449,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 14.0,
"rbi_rank": 216,
"tb_value": 47.0,
"tb_rank": 1007,
"bb_value": 11.0,
"bb_rank": 218,
"so_value": 47.0,
"so_rank": 80,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.2666666,
"obp_rank": "-",
"slg_value": 0.3405797,
"slg_rank": "-",
"ops_value": 0.6072463,
"ops_rank": null,
"war_value": -0.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 142.0,
"k_percent": 32.0,
"bb_percent": 6.8,
"woba": 0.268,
"xwoba": 0.268,
"xba": 0.196,
"xslg": 0.349,
"sweet_spot_percent": 32.2,
"barrel_batted_rate": 7.8,
"hard_hit_percent": 38.9,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 10.8,
"whiff_percent": 37.3,
"swing_percent": 45.5
},
"components": {
"expected_quality": -0.5996,
"regression_edge": 0.0,
"xwoba_edge": -1.0571,
"xba_edge": -1.1714,
"xslg_edge": -0.35,
"barrel_edge": 0.1667,
"hard_hit_edge": -0.0071,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": -0.1833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "701305",
"player_name": "Zach Dezenzo",
"offense_factor": 0.9848,
"quality_score": -0.2021,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "701305",
"espn_id": 5137883,
"player_name": "Zach Dezenzo",
"team": "HOU",
"role": "batter",
"espn_rank": 271,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 271,
"gp_value": 17.0,
"gp_rank": 391,
"ab_value": 41.0,
"ab_rank": 397,
"r_value": 5.0,
"r_rank": 375,
"h_value": 9.0,
"h_rank": 385,
"avg_value": 0.2195121,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 2.0,
"rbi_rank": 420,
"tb_value": 16.0,
"tb_rank": 1863,
"bb_value": 4.0,
"bb_rank": 360,
"so_value": 16.0,
"so_rank": 347,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2888888,
"obp_rank": "-",
"slg_value": 0.3902439,
"slg_rank": "-",
"ops_value": 0.6791327,
"ops_rank": null,
"war_value": 0.15,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 41.0,
"k_percent": 35.6,
"bb_percent": 8.9,
"woba": 0.302,
"xwoba": 0.27,
"xba": 0.193,
"xslg": 0.348,
"sweet_spot_percent": 48.0,
"barrel_batted_rate": 16.0,
"hard_hit_percent": 32.0,
"exit_velocity_avg": 85.1,
"launch_angle_avg": 13.1,
"whiff_percent": 33.8,
"swing_percent": 43.0
},
"components": {
"expected_quality": -0.3735,
"regression_edge": -0.9143,
"xwoba_edge": -1.0,
"xba_edge": -1.2571,
"xslg_edge": -0.3643,
"barrel_edge": 1.9889,
"hard_hit_edge": -0.9929,
"exit_velocity_edge": -1.48,
"sweet_spot_edge": 2.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "543877",
"player_name": "Christian Vázquez",
"offense_factor": 0.96,
"quality_score": -0.5332,
"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": 98,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 98,
"gp_value": 35.0,
"gp_rank": 271,
"ab_value": 105.0,
"ab_rank": 256,
"r_value": 10.0,
"r_rank": 288,
"h_value": 27.0,
"h_rank": 220,
"avg_value": 0.2571428,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 17.0,
"rbi_rank": 179,
"tb_value": 43.0,
"tb_rank": 1242,
"bb_value": 9.0,
"bb_rank": 254,
"so_value": 19.0,
"so_rank": 316,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3157894,
"obp_rank": "-",
"slg_value": 0.4095238,
"slg_rank": "-",
"ops_value": 0.7253132,
"ops_rank": null,
"war_value": 1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 108.0,
"k_percent": 15.2,
"bb_percent": 8.0,
"woba": 0.327,
"xwoba": 0.263,
"xba": 0.22,
"xslg": 0.299,
"sweet_spot_percent": 31.4,
"barrel_batted_rate": 2.3,
"hard_hit_percent": 25.6,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 12.2,
"whiff_percent": 19.5,
"swing_percent": 44.4
},
"components": {
"expected_quality": -0.9653,
"regression_edge": -1.8286,
"xwoba_edge": -1.2,
"xba_edge": -0.4857,
"xslg_edge": -1.0643,
"barrel_edge": -1.0556,
"hard_hit_edge": -1.9071,
"exit_velocity_edge": -0.72,
"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 HOU | True | 20 | -0.1615 | 0.6040 | 1.0137 | 1.0072 | 1.0592 | 0.9715 | negative_pitcher_regression | 0.3430 | 0.2680 | 22.90 | 14.30 | 27.70 | 5.80 | 29.80 | |
| Home TEX | True | 135 | 0.0177 | 0.9080 | 0.9985 | 1.0374 | 0.9292 | 1.0354 | neutral | 0.3200 | 0.3110 | 23.80 | 5.50 | 31.90 | 8 | 41.50 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | True | None | 94 | 84.49 | 2463 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2800 | |
| Home TEX | True | None | 95 | 87.74 | 1899 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1092 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9986 |
| home_runs_vs_away_pitcher | 1.0083 |
| home_pitcher_quality_edge | 0.1792 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "543135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 23.8,
"bb_percent": 5.5,
"woba": 0.311,
"xwoba": 0.32,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 41.5,
"avg_best_speed": 78.1565,
"avg_hyper_speed": 94.3861,
"whiff_percent": 31.9,
"swing_percent": 53.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.1693,
"command_and_miss": 0.5721,
"regression_edge": -0.2571,
"xwoba_edge": -0.3143,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.4286,
"whiff_edge": 0.8571,
"bb_edge": 0.975,
"pitch_design_score": -0.1092
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "543135",
"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": 87.73778951640207,
"release_spin_rate": 1898.5486610684104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.73778951640207,
"release_spin_rate": 1898.5486610684104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7378,
"release_spin_rate": 1898.5487,
"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.1092,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7799,
"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.0177,
"sample_weight": 0.908,
"run_prevention_factor": 0.9985,
"strikeout_factor": 1.0374,
"walk_factor": 0.9292,
"homer_factor": 1.0354,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543135",
"espn_id": 31174,
"player_name": "Nathan Eovaldi",
"team": "TEX",
"role": "pitcher",
"espn_rank": 135,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 135,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 10.0,
"gs_rank": 70,
"qs_value": 6.0,
"qs_rank": 20,
"era_value": 3.6486,
"era_rank": 38.0,
"w_value": 5.0,
"w_rank": 18,
"l_value": 5.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 61.2,
"ip_rank": 35,
"h_value": 56.0,
"h_rank": 44,
"er_value": 25.0,
"er_rank": 65,
"hr_value": 11.0,
"hr_rank": 13,
"bb_value": 14.0,
"bb_rank": 146,
"k_value": 61.0,
"k_rank": 33,
"k_per_9_value": 8.902702,
"k_per_9_rank": 25,
"whip_value": 1.1351,
"whip_rank": 31.0,
"war_value": 0.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "681293",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 151.0,
"k_percent": 22.9,
"bb_percent": 14.3,
"woba": 0.268,
"xwoba": 0.343,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 29.8,
"avg_best_speed": 76.7451,
"avg_hyper_speed": 92.3999,
"whiff_percent": 27.7,
"swing_percent": 43.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.0174,
"command_and_miss": -0.1357,
"regression_edge": -2.0,
"xwoba_edge": -0.9714,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.2429,
"whiff_edge": 0.2571,
"bb_edge": -1.225,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681293",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 84.49172978509164,
"release_spin_rate": 2463.352576212293,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94,
"pitch_usage": 0.0,
"release_speed": 84.49172978509164,
"release_spin_rate": 2463.352576212293,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4917,
"release_spin_rate": 2463.3526,
"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.1615,
"sample_weight": 0.604,
"run_prevention_factor": 1.0137,
"strikeout_factor": 1.0072,
"walk_factor": 1.0592,
"homer_factor": 0.9715,
"woba_minus_xwoba": -0.075,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681293",
"espn_id": 4726080,
"player_name": "Spencer Arrighetti",
"team": "HOU",
"role": "pitcher",
"espn_rank": 20,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 20,
"gp_value": 7.0,
"gp_rank": 401,
"gs_value": 7.0,
"gs_rank": 122,
"qs_value": 3.0,
"qs_rank": 74,
"era_value": 1.317,
"era_rank": null,
"w_value": 6.0,
"w_rank": 8,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 41.0,
"ip_rank": 127,
"h_value": 24.0,
"h_rank": 190,
"er_value": 6.0,
"er_rank": 368,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 25.0,
"bb_rank": 21,
"k_value": 40.0,
"k_rank": 110,
"k_per_9_value": 8.780488,
"k_per_9_rank": 23,
"whip_value": 1.1951,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9986,
"home_runs_vs_away_pitcher": 1.0083,
"home_pitcher_quality_edge": 0.1792
},
"score_before": {
"away_runs": 1.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 0.9986,
"home_runs": 1.0083,
"home_win_probability": 0.504
},
"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 HOU | 23-33 | 0.411 | 1.40 | 4.20 | -156 | cold | average | |
| Home TEX | 13-40 | 0.245 | 1.20 | 3.30 | -113 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away HOU | 24-32 | 0.429 | -42 | -0.750 | True |
| Home TEX | 25-29 | 0.463 | 0 | 0 | True |
| Signal | - | - | 0.750 | 0.802 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target HOU | - | - | 1 | - | - | - | - |
| Game target TEX | - | - | 2 | - | - | - | - |
| Player finalized HOU | 64 | 16 | 9 | 1 | 9 | 6 | 16 |
| Player finalized TEX | 60 | 14 | 8 | 0 | 7 | 7 | 15 |
| Player model fractional HOU | 64.99 | 15.73 | 8.69 | 2.61 | 7.55 | 6.22 | 14.67 |
| Player model fractional TEX | 59.28 | 13.00 | 7.87 | 1.95 | 7.18 | 5.96 | 14.70 |
| Simulation box HOU | 36 | 9 | 1 | 0 | 1 | 1 | 8 |
| Simulation box TEX | 29 | 5 | 2 | 0 | 2 | 2 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away HOU | Starter | Spencer Arrighetti | 6 | 1 | 6 | 3 | 0 | 2.35 | 1.20 | True |
| Away HOU | Middle Reliever | Bryan Abreu | 1 | 1 | 0 | 2 | 2 | 3.22 | 1.39 | True |
| Away HOU | Middle Reliever | Bryan King | 1 | 0 | 0 | 0 | 0 | 3.35 | 1.33 | True |
| Home TEX | Starter | Nathan Eovaldi | 6.10 | 0 | 5 | 6 | 1 | 3.44 | 1.08 | True |
| Home TEX | Middle Reliever | Jacob Latz | 1.10 | 0 | 2 | 0 | 0 | 2.63 | 0.85 | True |
| Home TEX | Middle Reliever | Jakob Junis | 1 | 1 | 1 | 2 | 0 | 2.70 | 0.95 | True |
| Home TEX | Middle Reliever | Tyler Alexander | 0.10 | 0 | 0 | 1 | 0 | 3.77 | 1.38 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| away | HOU | pitcher | Starter | Spencer Arrighetti | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 3.0000 | boost | better |
| away | HOU | pitcher | Middle Reliever | Bryan Abreu | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -2.0000 | deboost | worse |
| away | HOU | batter | CF | Taylor Trammell | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_H | 1.6600 | boost | better |
| home | TEX | batter | SS | Ezequiel Duran | better | 9 | 6 | 3 | 7 | 2 | predicted_AB | -1.4750 | deboost | worse |
| home | TEX | batter | 2B | Nicky Lopez | worse | 8 | 2 | 6 | 1 | 7 | predicted_SO | 1.4440 | boost | worse |
| away | HOU | batter | SS | Jeremy Peña | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.3980 | boost | worse |
| away | HOU | batter | RF | Cam Smith | worse | 11 | 2 | 9 | 3 | 8 | predicted_H | 1.2000 | boost | better |
| away | HOU | batter | LF | Zach Dezenzo | worse | 10 | 2 | 8 | 1 | 9 | predicted_AB | 1.1860 | boost | better |
| home | TEX | batter | C | Kyle Higashioka | worse | 10 | 1 | 9 | 2 | 8 | predicted_SO | -1.1250 | deboost | better |
| away | HOU | batter | 2B | Brice Matthews | worse | 10 | 2 | 8 | 3 | 7 | predicted_SO | -1.0870 | deboost | better |
| home | TEX | batter | DH | Joc Pederson | worse | 11 | 4 | 7 | 5 | 6 | predicted_AB | 1.0320 | boost | better |
| home | TEX | batter | RF | Brandon Nimmo | worse | 11 | 2 | 9 | 1 | 10 | predicted_H | -1.0300 | deboost | worse |
| away | HOU | pitcher | Middle Reliever | Bryan King | worse | 1 | 0 | 1 | 0 | 1 | predicted_SO | -1.0000 | deboost | worse |
| home | TEX | batter | CF | Evan Carter | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -0.8780 | deboost | better |
| home | TEX | batter | 1B | Jake Burger | worse | 11 | 3 | 8 | 2 | 9 | predicted_AB | -0.8630 | deboost | worse |
| away | HOU | batter | DH | Yordan Alvarez | worse | 11 | 4 | 7 | 3 | 8 | predicted_RBI | -0.8600 | deboost | worse |
| away | HOU | batter | 3B | Braden Shewmake | worse | 9 | 4 | 5 | 3 | 6 | predicted_RBI | 0.8500 | boost | better |
| home | TEX | batter | LF | Alejandro Osuna | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | -0.7400 | deboost | worse |
| home | TEX | batter | 3B | Josh Jung | worse | 9 | 3 | 6 | 4 | 5 | predicted_2B | 0.6950 | boost | better |
| away | HOU | batter | C | Christian Vázquez | worse | 9 | 3 | 6 | 4 | 5 | predicted_AB | 0.6780 | boost | better |
| away | HOU | batter | 1B | Isaac Paredes | worse | 10 | 2 | 8 | 1 | 9 | predicted_R | -0.4270 | deboost | worse |
| home | TEX | pitcher | Starter | Nathan Eovaldi | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TEX | pitcher | Middle Reliever | Jacob Latz | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | TEX | pitcher | Middle Reliever | Tyler Alexander | 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 | Spencer Arrighetti |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.1615 |
| ESPN Rank | 20 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.4917 |
| Avg Spin | 2463.3526 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6 |
| Pre ER | 1 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 6 |
| Season ERA | 1.3171 |
| Season WHIP | 1.1951 |
| Role Avg IP | 5.8570 |
| Recent Avg IP | 6 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"opponent": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"edges": {
"quality_edge": -0.0525,
"offense_edge": -0.0121,
"opponent_offense_edge": -0.0919,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.1148,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 0.9995,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "681293",
"profile": {
"available": true,
"pitcher_id": "681293",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 151.0,
"k_percent": 22.9,
"bb_percent": 14.3,
"woba": 0.268,
"xwoba": 0.343,
"sweet_spot_percent": 37.5,
"barrel_batted_rate": 5.8,
"hard_hit_percent": 29.8,
"avg_best_speed": 76.7451,
"avg_hyper_speed": 92.3999,
"whiff_percent": 27.7,
"swing_percent": 43.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.0174,
"command_and_miss": -0.1357,
"regression_edge": -2.0,
"xwoba_edge": -0.9714,
"barrel_edge": 0.3333,
"hard_hit_edge": 1.2429,
"whiff_edge": 0.2571,
"bb_edge": -1.225,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "681293",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 84.49172978509164,
"release_spin_rate": 2463.352576212293,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94,
"pitch_usage": 0.0,
"release_speed": 84.49172978509164,
"release_spin_rate": 2463.352576212293,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4917,
"release_spin_rate": 2463.3526,
"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.1615,
"sample_weight": 0.604,
"run_prevention_factor": 1.0137,
"strikeout_factor": 1.0072,
"walk_factor": 1.0592,
"homer_factor": 0.9715,
"woba_minus_xwoba": -0.075,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "681293",
"espn_id": 4726080,
"player_name": "Spencer Arrighetti",
"team": "HOU",
"role": "pitcher",
"espn_rank": 20,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 20,
"gp_value": 7.0,
"gp_rank": 401,
"gs_value": 7.0,
"gs_rank": 122,
"qs_value": 3.0,
"qs_rank": 74,
"era_value": 1.317,
"era_rank": null,
"w_value": 6.0,
"w_rank": 8,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 41.0,
"ip_rank": 127,
"h_value": 24.0,
"h_rank": 190,
"er_value": 6.0,
"er_rank": 368,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 25.0,
"bb_rank": 21,
"k_value": 40.0,
"k_rank": 110,
"k_per_9_value": 8.780488,
"k_per_9_rank": 23,
"whip_value": 1.1951,
"whip_rank": null,
"war_value": 1.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0083,
"adjusted": 1
},
"predicted_H": {
"original": 3.0,
"factor": 1.0083,
"adjusted": 3
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0358,
"adjusted": 3
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9828,
"adjusted": 0
},
"predicted_SO": {
"original": 6.0,
"factor": 1.0043,
"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": 41.0,
"ER": 6,
"H": 24,
"BB": 25,
"SO": 40,
"HR": 1,
"ERA": 1.3170731707317074,
"WHIP": 1.1951219512195121,
"K9": 8.78048780487805,
"HR9": 0.21951219512195122,
"games_pitched": 7,
"quality_starts": 3,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 7,
"error_prone": false
},
"games_count": 7,
"latest_game_date": "2026-05-22T00:00:00"
}{
"available": true,
"pitcher_id": "681293",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 94,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 94,
"pitch_usage": 0.0,
"release_speed": 84.49172978509164,
"release_spin_rate": 2463.352576212293,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 94,
"pitch_usage": 0.0,
"release_speed": 84.49172978509164,
"release_spin_rate": 2463.352576212293,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4917,
"release_spin_rate": 2463.3526,
"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.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": "681293",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 7,
"reference_playing_time": 6.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.0,
"ER": 3.0,
"R": 5.0,
"H": 16.0,
"BB": 17.0,
"SO": 27.0,
"HR": 1.0,
"BF": 123.0,
"Pitches": 467.0
},
"per_game": {
"IP": 6.0,
"ER": 0.6,
"R": 1.0,
"H": 3.2,
"BB": 3.4,
"SO": 5.4,
"HR": 0.2,
"BF": 24.6,
"Pitches": 93.4
},
"rates": {
"ERA": 0.9,
"WHIP": 1.1,
"ER_per_IP": 0.1,
"H_per_IP": 0.53333,
"BB_per_IP": 0.56667,
"SO_per_IP": 0.9,
"HR_per_IP": 0.03333
}
},
"last_10": {
"games": 7,
"totals": {
"IP": 41.0,
"ER": 6.0,
"R": 8.0,
"H": 24.0,
"BB": 25.0,
"SO": 40.0,
"HR": 1.0,
"BF": 175.0,
"Pitches": 663.0
},
"per_game": {
"IP": 6.0,
"ER": 0.8571,
"R": 1.1429,
"H": 3.4286,
"BB": 3.5714,
"SO": 5.7143,
"HR": 0.1429,
"BF": 25.0,
"Pitches": 94.7143
},
"rates": {
"ERA": 1.3171,
"WHIP": 1.1951,
"ER_per_IP": 0.14634,
"H_per_IP": 0.58537,
"BB_per_IP": 0.60976,
"SO_per_IP": 0.97561,
"HR_per_IP": 0.02439
}
},
"season": {
"games": 7,
"totals": {
"IP": 41.0,
"ER": 6.0,
"R": 8.0,
"H": 24.0,
"BB": 25.0,
"SO": 40.0,
"HR": 1.0,
"BF": 175.0,
"Pitches": 663.0
},
"per_game": {
"IP": 6.0,
"ER": 0.8571,
"R": 1.1429,
"H": 3.4286,
"BB": 3.5714,
"SO": 5.7143,
"HR": 0.1429,
"BF": 25.0,
"Pitches": 94.7143
},
"rates": {
"ERA": 1.3171,
"WHIP": 1.1951,
"ER_per_IP": 0.14634,
"H_per_IP": 0.58537,
"BB_per_IP": 0.60976,
"SO_per_IP": 0.97561,
"HR_per_IP": 0.02439
}
}
},
"weighted_prediction": {
"predicted_IP": 6.0,
"predicted_ER": 1.567,
"predicted_H": 4.267,
"predicted_BB": 2.942,
"predicted_SO": 5.573,
"predicted_HR": 0.437,
"predicted_ERA": 2.35,
"predicted_WHIP": 1.2016
}
}{
"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.0,
"form": 6.0,
"final": 6.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 1.567,
"final": 1.2687,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 4.267,
"final": 3.6005,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 2.942,
"final": 1.3943,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 5.573,
"final": 4.2195,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.437,
"final": 0.2071,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.35,
"final": 2.35,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2016,
"final": 1.2016,
"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 Abreu |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.4262 |
| ESPN Rank | 591 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0313 |
| Avg Velo | 90.2470 |
| Avg Spin | 2473.6807 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 2 |
| Pre SO | 0 |
| Season ERA | 6.8824 |
| Season WHIP | 2.0588 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"opponent": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"edges": {
"quality_edge": -0.0525,
"offense_edge": -0.0121,
"opponent_offense_edge": -0.0919,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.1148,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 0.9995,
"strikeout": 1.0058
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "650556",
"profile": {
"available": true,
"pitcher_id": "650556",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 81.0,
"k_percent": 24.4,
"bb_percent": 23.3,
"woba": 0.419,
"xwoba": 0.388,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 11.9,
"hard_hit_percent": 52.4,
"avg_best_speed": 81.9302,
"avg_hyper_speed": 95.6148,
"whiff_percent": 32.3,
"swing_percent": 38.2
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.8241,
"command_and_miss": -0.0643,
"regression_edge": 0.8857,
"xwoba_edge": -2.2571,
"barrel_edge": -1.0222,
"hard_hit_edge": -1.9857,
"whiff_edge": 0.9143,
"bb_edge": -2.5,
"pitch_design_score": 0.0313
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "650556",
"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": 90.24704967129715,
"release_spin_rate": 2473.680679062565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.24704967129715,
"release_spin_rate": 2473.680679062565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.247,
"release_spin_rate": 2473.6807,
"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.0313,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2238,
"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.4262,
"sample_weight": 0.45,
"run_prevention_factor": 1.0362,
"strikeout_factor": 1.0211,
"walk_factor": 1.09,
"homer_factor": 1.103,
"woba_minus_xwoba": 0.031,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "650556",
"espn_id": 41208,
"player_name": "Bryan Abreu",
"team": "HOU",
"role": "pitcher",
"espn_rank": 591,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 591,
"gp_value": 19.0,
"gp_rank": 132,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 6.8823,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 3.0,
"sv_rank": 36,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 17.0,
"ip_rank": 356,
"h_value": 15.0,
"h_rank": 330,
"er_value": 13.0,
"er_rank": 175,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 20.0,
"bb_rank": 52,
"k_value": 21.0,
"k_rank": 268,
"k_per_9_value": 11.117647,
"k_per_9_rank": 20,
"whip_value": 2.0588,
"whip_rank": null,
"war_value": -0.44,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.0163,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.0163,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0405,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0463,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0095,
"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": 1,
"H": 6,
"BB": 7,
"SO": 9,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 1.3448275862068966,
"K9": 8.379310344827587,
"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-24T00:00:00"
}{
"available": true,
"pitcher_id": "650556",
"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": 90.24704967129715,
"release_spin_rate": 2473.680679062565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.24704967129715,
"release_spin_rate": 2473.680679062565,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.247,
"release_spin_rate": 2473.6807,
"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.0313,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.2238,
"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.353,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4014,
"prior_weight": 0.5986
},
"role": "pitcher",
"player_id": "650556",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 4.0,
"SO": 1.0,
"HR": 0.0,
"BF": 20.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.8,
"SO": 0.2,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.3846,
"ER_per_IP": 0.0,
"H_per_IP": 0.46154,
"BB_per_IP": 0.92308,
"SO_per_IP": 0.23077,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 7.0,
"SO": 9.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.7,
"SO": 0.9,
"HR": 0.0,
"BF": 4.3,
"Pitches": 16.5
},
"rates": {
"ERA": 0.931,
"WHIP": 1.3448,
"ER_per_IP": 0.10345,
"H_per_IP": 0.62069,
"BB_per_IP": 0.72414,
"SO_per_IP": 0.93103,
"HR_per_IP": 0.0
}
},
"season": {
"games": 19,
"totals": {
"IP": 17.0,
"ER": 13.0,
"R": 14.0,
"H": 15.0,
"BB": 20.0,
"SO": 21.0,
"HR": 4.0,
"BF": 86.0,
"Pitches": 348.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6842,
"R": 0.7368,
"H": 0.7895,
"BB": 1.0526,
"SO": 1.1053,
"HR": 0.2105,
"BF": 4.5263,
"Pitches": 18.3158
},
"rates": {
"ERA": 6.8824,
"WHIP": 2.0588,
"ER_per_IP": 0.76471,
"H_per_IP": 0.88235,
"BB_per_IP": 1.17647,
"SO_per_IP": 1.23529,
"HR_per_IP": 0.23529
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.358,
"predicted_H": 0.806,
"predicted_BB": 0.584,
"predicted_SO": 0.837,
"predicted_HR": 0.097,
"predicted_ERA": 3.2221,
"predicted_WHIP": 1.3897
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6029,
"form_weight": 0.3971,
"form_reliability": 0.4014,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.353,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4014,
"prior_weight": 0.5986
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.358,
"final": 0.7451,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.806,
"final": 1.5259,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 0.584,
"final": 1.4377,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.837,
"final": 1.5382,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.097,
"final": 0.0385,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.2221,
"final": 3.2221,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3897,
"final": 1.3897,
"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.0627 |
| ESPN Rank | 176 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0642 |
| Avg Velo | 88.5417 |
| Avg Spin | 2108.0236 |
| 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.0423 |
| Season WHIP | 1.3521 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"opponent": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"edges": {
"quality_edge": -0.0525,
"offense_edge": -0.0121,
"opponent_offense_edge": -0.0919,
"defense_strength": -0.1154,
"opponent_defense_weakness": -0.1148,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 0.9981,
"run_prevention": 0.9995,
"strikeout": 1.0058
},
"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": 99.0,
"k_percent": 17.8,
"bb_percent": 8.9,
"woba": 0.285,
"xwoba": 0.29,
"sweet_spot_percent": 28.2,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 39.4,
"avg_best_speed": 78.1186,
"avg_hyper_speed": 93.3205,
"whiff_percent": 18.5,
"swing_percent": 49.4
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.5868,
"command_and_miss": -0.6536,
"regression_edge": -0.1429,
"xwoba_edge": 0.5429,
"barrel_edge": 1.3111,
"hard_hit_edge": -0.1286,
"whiff_edge": -1.0571,
"bb_edge": 0.125,
"pitch_design_score": -0.0642
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "687911",
"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": 88.54170889136881,
"release_spin_rate": 2108.023633515893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.54170889136881,
"release_spin_rate": 2108.023633515893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5417,
"release_spin_rate": 2108.0236,
"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.0642,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4584,
"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.0627,
"sample_weight": 0.45,
"run_prevention_factor": 0.9947,
"strikeout_factor": 0.9686,
"walk_factor": 0.9955,
"homer_factor": 0.9478,
"woba_minus_xwoba": -0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687911",
"espn_id": 5201821,
"player_name": "Bryan King",
"team": "HOU",
"role": "pitcher",
"espn_rank": 176,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 176,
"gp_value": 21.0,
"gp_rank": 105,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.0422,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 6.0,
"sv_rank": 17,
"hld_value": 5.0,
"hld_rank": 66,
"ip_value": 23.2,
"ip_rank": 236,
"h_value": 22.0,
"h_rank": 217,
"er_value": 8.0,
"er_rank": 303,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 10.0,
"bb_rank": 224,
"k_value": 19.0,
"k_rank": 295,
"k_per_9_value": 7.2253523,
"k_per_9_rank": 33,
"whip_value": 1.3521,
"whip_rank": null,
"war_value": 0.45,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.998,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9765,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9859,
"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": 3,
"H": 9,
"BB": 5,
"SO": 6,
"HR": 1,
"ERA": 2.4545454545454546,
"WHIP": 1.2727272727272727,
"K9": 4.909090909090909,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "687911",
"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": 88.54170889136881,
"release_spin_rate": 2108.023633515893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.54170889136881,
"release_spin_rate": 2108.023633515893,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5417,
"release_spin_rate": 2108.0236,
"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.0642,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.4584,
"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.668,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4828,
"prior_weight": 0.5172
},
"role": "pitcher",
"player_id": "687911",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 21,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 2.0,
"SO": 3.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.4,
"SO": 0.6,
"HR": 0.2,
"BF": 4.0,
"Pitches": 17.6
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.3846,
"ER_per_IP": 0.23077,
"H_per_IP": 0.92308,
"BB_per_IP": 0.46154,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.23077
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 5.0,
"SO": 6.0,
"HR": 1.0,
"BF": 47.0,
"Pitches": 197.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.9,
"BB": 0.5,
"SO": 0.6,
"HR": 0.1,
"BF": 4.7,
"Pitches": 19.7
},
"rates": {
"ERA": 2.4545,
"WHIP": 1.2727,
"ER_per_IP": 0.27273,
"H_per_IP": 0.81818,
"BB_per_IP": 0.45455,
"SO_per_IP": 0.54545,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 21,
"totals": {
"IP": 23.2,
"ER": 8.0,
"R": 10.0,
"H": 22.0,
"BB": 10.0,
"SO": 19.0,
"HR": 1.0,
"BF": 104.0,
"Pitches": 417.0
},
"per_game": {
"IP": 1.0,
"ER": 0.381,
"R": 0.4762,
"H": 1.0476,
"BB": 0.4762,
"SO": 0.9048,
"HR": 0.0476,
"BF": 4.9524,
"Pitches": 19.8571
},
"rates": {
"ERA": 3.0423,
"WHIP": 1.3521,
"ER_per_IP": 0.33803,
"H_per_IP": 0.92958,
"BB_per_IP": 0.42254,
"SO_per_IP": 0.80282,
"HR_per_IP": 0.04225
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.373,
"predicted_H": 0.916,
"predicted_BB": 0.409,
"predicted_SO": 0.808,
"predicted_HR": 0.137,
"predicted_ERA": 3.3533,
"predicted_WHIP": 1.3251
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5685,
"form_weight": 0.4315,
"form_reliability": 0.4828,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.668,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4828,
"prior_weight": 0.5172
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.373,
"final": 0.1609,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.916,
"final": 0.3952,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.409,
"final": 0.1765,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.808,
"final": 0.9172,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.137,
"final": 0.0591,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3533,
"final": 3.3533,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3251,
"final": 1.3251,
"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.217 | 0.000 | 0.000 | Hitting_2B | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.700 | 5.000 | 10.000 | Hitting_AB | 4.193 | 5.000 | 0.807 | 0.000 |
| predicted_AVG | 0.228 | 0.200 | 0.200 | Hitting_AVG | 0.239 | 0.200 | -0.039 | 0.000 |
| predicted_BB | 0.217 | 0.000 | 0.000 | Hitting_BB | 0.217 | 0.000 | -0.217 | 0.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.000 | 1.000 | 0.000 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.308 | 0.200 | 0.200 | Hitting_OBP | 0.297 | 0.200 | -0.097 | 0.000 |
| predicted_R | 0.602 | 0.000 | 1.000 | Hitting_R | 0.602 | 0.000 | -0.602 | 0.000 |
| predicted_RBI | 0.490 | 0.000 | 1.000 | Hitting_RBI | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_SLG | 0.369 | 0.200 | 0.200 | Hitting_SLG | 0.333 | 0.200 | -0.133 | 0.000 |
| predicted_SO | 0.602 | 2.000 | 2.000 | Hitting_SO | 0.602 | 0.000 | 1.398 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6020 -> 2.0000 (boost 1.3980, worse) |
| Biggest Deboost | predicted_R: 0.6020 -> 0.0000 (deboost -0.6020, 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.7000 -> 10.3434 (boost 5.6434, better) | predicted_SLG: 0.3690 -> 0.3581 (deboost -0.0109, 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.3016 -> 0.2704 (deboost -0.0312, 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.5366 -> 1.0000 (boost 0.4634, better) | predicted_HBP: 0.5580 -> 0.0000 (deboost -0.5580, worse) | AB rounded to 10 (raw=10.34), rates preserved: AVG=0.233 HR/AB=0.021 |
| 5 | bvp_blend | 2 | 1 | 1 | 0 | 2 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | predicted_BB: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=18.0, weight=0.150, BvP AVG=0.222) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3938 -> 1.0000 (deboost -0.3938, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3428 -> 0.2000 (deboost -0.1428, 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: 10.0000 -> 5.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2000 -> 0.3428 (boost 0.1428, 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.217,
"predicted_3B": 0.0,
"predicted_AB": 4.7,
"predicted_AVG": 0.228,
"predicted_BB": 0.217,
"predicted_H": 1.07,
"predicted_HR": 0.12,
"predicted_OBP": 0.308,
"predicted_R": 0.602,
"predicted_RBI": 0.49,
"predicted_SLG": 0.369,
"predicted_SO": 0.602
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4751,
"predicted_3B": 0.0021,
"predicted_AB": 10.3434,
"predicted_AVG": 0.2316,
"predicted_BB": 0.5377,
"predicted_H": 2.4216,
"predicted_HBP": 0.558,
"predicted_HR": 0.2238,
"predicted_OBP": 0.3016,
"predicted_R": 1.4077,
"predicted_RBI": 0.7953,
"predicted_SLG": 0.3581,
"predicted_SO": 1.367
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.4751,
"delta": 0.2581,
"percent_delta": 1.1894,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 4.7,
"after": 10.3434,
"delta": 5.6434,
"percent_delta": 1.2007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2316,
"delta": 0.0036,
"percent_delta": 0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.217,
"after": 0.5377,
"delta": 0.3207,
"percent_delta": 1.4779,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.4216,
"delta": 1.3516,
"percent_delta": 1.2632,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2238,
"delta": 0.1038,
"percent_delta": 0.865,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.308,
"after": 0.3016,
"delta": -0.0064,
"percent_delta": -0.0208,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 1.4077,
"delta": 0.8057,
"percent_delta": 1.3384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.7953,
"delta": 0.3053,
"percent_delta": 0.6231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3581,
"delta": -0.0109,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.602,
"after": 1.367,
"delta": 0.765,
"percent_delta": 1.2708,
"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.7,
"after": 10.3434,
"delta": 5.6434,
"percent_delta": 1.2007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3581,
"delta": -0.0109,
"percent_delta": -0.0295,
"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": 1,
"last_10": 2,
"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.4751,
"predicted_3B": 0.0021,
"predicted_AB": 10.3434,
"predicted_AVG": 0.2326,
"predicted_BB": 0.5366,
"predicted_H": 2.4059,
"predicted_HBP": 0.558,
"predicted_HR": 0.2203,
"predicted_OBP": 0.2704,
"predicted_R": 1.3938,
"predicted_RBI": 0.7874,
"predicted_SLG": 0.3428,
"predicted_SO": 1.3699
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4751,
"after": 0.4751,
"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": 10.3434,
"after": 10.3434,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2316,
"after": 0.2326,
"delta": 0.001,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.5377,
"after": 0.5366,
"delta": -0.0011,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4216,
"after": 2.4059,
"delta": -0.0157,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.558,
"after": 0.558,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2238,
"after": 0.2203,
"delta": -0.0035,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3016,
"after": 0.2704,
"delta": -0.0312,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4077,
"after": 1.3938,
"delta": -0.0139,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7953,
"after": 0.7874,
"delta": -0.0079,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3581,
"after": 0.3428,
"delta": -0.0153,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.367,
"after": 1.3699,
"delta": 0.0029,
"percent_delta": 0.0021,
"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.3016,
"after": 0.2704,
"delta": -0.0312,
"percent_delta": -0.1034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=10.34), rates preserved: AVG=0.233 HR/AB=0.021",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.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.4751,
"after": 0.0,
"delta": -0.4751,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 10.3434,
"after": 10.0,
"delta": -0.3434,
"percent_delta": -0.0332,
"direction": "deboost",
"projection_effect": "worse",
"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": 2.4059,
"after": 2.0,
"delta": -0.4059,
"percent_delta": -0.1687,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.558,
"after": 0.0,
"delta": -0.558,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2203,
"after": 0.0,
"delta": -0.2203,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7874,
"after": 1.0,
"delta": 0.2126,
"percent_delta": 0.27,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3699,
"after": 1.0,
"delta": -0.3699,
"percent_delta": -0.27,
"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.5366,
"after": 1.0,
"delta": 0.4634,
"percent_delta": 0.8636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.558,
"after": 0.0,
"delta": -0.558,
"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": 10.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": 10.0,
"after": 10.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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"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": 10.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": 10.0,
"after": 10.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.3938,
"after": 1.0,
"delta": -0.3938,
"percent_delta": -0.2825,
"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.3938,
"after": 1.0,
"delta": -0.3938,
"percent_delta": -0.2825,
"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": 10.0,
"predicted_AVG": 0.2,
"predicted_BB": 0.0,
"predicted_H": 2.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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2326,
"after": 0.2,
"delta": -0.0326,
"percent_delta": -0.1402,
"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.2704,
"after": 0.2,
"delta": -0.0704,
"percent_delta": -0.2604,
"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.3428,
"after": 0.2,
"delta": -0.1428,
"percent_delta": -0.4166,
"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.3428,
"after": 0.2,
"delta": -0.1428,
"percent_delta": -0.4166,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 10.0,
"after": 5.0,
"delta": -5.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": 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": 10.0,
"after": 5.0,
"delta": -5.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": 5.0,
"predicted_AVG": 0.2326,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.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.3428,
"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": 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.2,
"after": 0.2326,
"delta": 0.0326,
"percent_delta": 0.163,
"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.2704,
"delta": 0.0704,
"percent_delta": 0.3522,
"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.3428,
"delta": 0.1428,
"percent_delta": 0.7142,
"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.3428,
"delta": 0.1428,
"percent_delta": 0.7142,
"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.217,
"after": 0.0,
"delta": -0.217,
"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.7,
"after": 5.0,
"delta": 0.3,
"percent_delta": 0.0638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2326,
"delta": 0.0046,
"percent_delta": 0.0202,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.07,
"after": 1.0,
"delta": -0.07,
"percent_delta": -0.0654,
"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.308,
"after": 0.2704,
"delta": -0.0376,
"percent_delta": -0.1221,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.602,
"after": 0.0,
"delta": -0.602,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.49,
"after": 0.0,
"delta": -0.49,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3428,
"delta": -0.0262,
"percent_delta": -0.071,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.602,
"after": 2.0,
"delta": 1.398,
"percent_delta": 2.3223,
"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.602,
"after": 2.0,
"delta": 1.398,
"percent_delta": 2.3223,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.602,
"after": 0.0,
"delta": -0.602,
"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.000 | - |
| predicted_AB | 4.700 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.217 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.308 | - |
| predicted_R | 0.602 | - |
| predicted_RBI | 0.490 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.602 | - |
Final model 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.475 | 0.258 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 10.343 | 5.643 |
| predicted_AVG | 0.232 | 0.004 |
| predicted_BB | 0.538 | 0.321 |
| predicted_H | 2.422 | 1.352 |
| predicted_HBP | 0.558 | - |
| predicted_HR | 0.224 | 0.104 |
| predicted_OBP | 0.302 | -0.006 |
| predicted_R | 1.408 | 0.806 |
| predicted_RBI | 0.795 | 0.305 |
| predicted_SLG | 0.358 | -0.011 |
| predicted_SO | 1.367 | 0.765 |
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.475 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 10.343 | 0.000 |
| predicted_AVG | 0.233 | 0.001 |
| predicted_BB | 0.537 | -0.001 |
| predicted_H | 2.406 | -0.016 |
| predicted_HBP | 0.558 | 0.000 |
| predicted_HR | 0.220 | -0.004 |
| predicted_OBP | 0.270 | -0.031 |
| predicted_R | 1.394 | -0.014 |
| predicted_RBI | 0.787 | -0.008 |
| predicted_SLG | 0.343 | -0.015 |
| predicted_SO | 1.370 | 0.003 |
AB rounded to 10 (raw=10.34), rates preserved: AVG=0.233 HR/AB=0.021
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.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 | 10.000 | 0.000 |
| BB | 0.000 | -1.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.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 | 10.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.475 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 10.000 | -0.343 |
| predicted_AVG | 0.200 | -0.033 |
| predicted_BB | 0.000 | -0.537 |
| predicted_H | 2.000 | -0.406 |
| predicted_HR | 0.000 | -0.220 |
| predicted_OBP | 0.200 | -0.070 |
| predicted_R | 1.000 | -0.394 |
| predicted_RBI | 1.000 | 0.213 |
| predicted_SLG | 0.200 | -0.143 |
| predicted_SO | 2.000 | 0.630 |
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 | -5.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 | 5.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 | 1 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 2 | - | 45.000 | 10.000 | 0.000 | 0.000 | 5.000 | 5.000 | 10.000 | 5.000 | 0.000 | 0.2222 | 0.3000 | 0.5556 | 0.2222 | 0.1111 | 0.1111 | 0.1111 | 0.0000 |
| season | 0.60 | 19 | - | 348.000 | 83.000 | 18.000 | 0.000 | 5.000 | 22.000 | 50.000 | 18.000 | 50.000 | 0.2385 | 0.2969 | 0.3333 | 0.2385 | 0.0144 | 0.0632 | 0.0517 | 0.1437 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8190 |
| predicted_3B | 0.0050 |
| predicted_AB | 17.8610 |
| predicted_AVG | 0.2363 |
| predicted_BB | 0.9650 |
| predicted_H | 4.2220 |
| predicted_HBP | 0.5580 |
| predicted_HR | 0.3620 |
| predicted_OBP | 0.2930 |
| predicted_R | 2.4810 |
| predicted_RBI | 1.2020 |
| predicted_SLG | 0.3435 |
| predicted_SO | 2.3860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.8190 | 0.4751 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0021 | model_form_blend |
| predicted_AB | 4.7000 | 17.8610 | 10.3434 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2363 | 0.2316 | model_form_blend |
| predicted_BB | 0.2170 | 0.9650 | 0.5377 | model_form_blend |
| predicted_H | 1.0700 | 4.2220 | 2.4216 | model_form_blend |
| predicted_HBP | - | 0.5580 | 0.5580 | form_only |
| predicted_HR | 0.1200 | 0.3620 | 0.2238 | model_form_blend |
| predicted_OBP | 0.3080 | 0.2930 | 0.3016 | model_form_blend |
| predicted_R | 0.6020 | 2.4810 | 1.4077 | model_form_blend |
| predicted_RBI | 0.4900 | 1.2020 | 0.7953 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3435 | 0.3581 | model_form_blend |
| predicted_SO | 0.6020 | 2.3860 | 1.3670 | 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 | 83 |
| Season rows before report date | 83 |
| Report year | 2026 |
| Profile rows used | 83 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 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 | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 1 |
| Hitting_battingOrder | 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 665161 |
| playerID | 665161 |
| playerName | Jeremy Peña |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 16.0 |
| sl_bb_percent | 4.9 |
| sl_woba | 0.295 |
| sl_xwoba | 0.341 |
| sl_xba | 0.298 |
| sl_xslg | 0.422 |
| sl_sweet_spot_percent | 37.7 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 27.9 |
| sl_exit_velocity_avg | 84.9 |
| sl_launch_angle_avg | 20.7 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 55.5 |
| at_bat_number | 69.0 |
| ab_pitcher | 686560.0 |
| ab_pitcher_name | Collyer, Gavin |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 694728.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | single |
| ab_event_description | Jeremy Peña singles on a line drive to left fielder Sam Haggerty. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 86.1 |
| ab_launch_angle_last | 16.0 |
| ab_hit_distance_last | 221.0 |
| ab_estimated_ba_last | 0.991 |
| ab_estimated_woba_last | 0.911 |
| ab_estimated_slg_last | 1.075 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 88.76666666666667 |
| ab_release_spin_rate_avg | 2683.6666666666665 |
| ab_effective_speed_avg | 88.56666666666666 |
| ab_launch_speed_avg | 86.1 |
| ab_launch_angle_avg | 16.0 |
| ab_delta_run_exp_avg | 0.1106666666666666 |
| ab_delta_home_win_exp_avg | 0.0069999999999999 |
| ab_delta_pitcher_run_exp_avg | -0.1106666666666666 |
| ab_bat_speed_avg | 73.5 |
| ab_swing_length_avg | 7.7 |
| ab_launch_speed_max | 86.1 |
| ab_hit_distance_sc_max | 221.0 |
| ab_release_speed_max | 91.5 |
| ab_release_spin_rate_max | 2838.0 |
| ab_release_speed_min | 86.1 |
| ab_release_spin_rate_min | 2497.0 |
| ab_delta_run_exp_sum | 0.332 |
| ab_delta_home_win_exp_sum | 0.0209999999999999 |
| ab_delta_pitcher_run_exp_sum | -0.332 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.184 | 0.000 | 0.000 | Hitting_2B | 0.184 | 0.000 | -0.184 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.990 | 4.000 | 8.000 | Hitting_AB | 3.748 | 1.000 | 0.252 | 3.000 |
| predicted_AVG | 0.224 | 0.250 | 0.250 | Hitting_AVG | 0.240 | 0.000 | 0.010 | 0.250 |
| predicted_BB | 0.393 | 0.000 | 1.000 | Hitting_BB | 0.393 | 0.000 | -0.393 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.890 | 1.000 | 2.000 | Hitting_H | 0.898 | 0.000 | 0.102 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.107 | 0.000 | -0.107 | 0.000 |
| predicted_OBP | 0.303 | 0.250 | 0.333 | Hitting_OBP | 0.334 | 0.000 | -0.084 | 0.250 |
| predicted_R | 0.427 | 0.000 | 1.000 | Hitting_R | 0.427 | 0.000 | -0.427 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.451 | 0.000 | -0.451 | 0.000 |
| predicted_SLG | 0.352 | 0.250 | 0.250 | Hitting_SLG | 0.374 | 0.000 | -0.124 | 0.250 |
| predicted_SO | 0.650 | 1.000 | 2.000 | Hitting_SO | 0.650 | 0.000 | 0.350 | 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.6500 -> 1.0000 (boost 0.3500, worse) |
| Biggest Deboost | predicted_R: 0.4270 -> 0.0000 (deboost -0.4270, 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.9900 -> 8.4629 (boost 4.4729, better) | predicted_SLG: 0.3520 -> 0.3358 (deboost -0.0162, 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.3044 -> 0.2712 (deboost -0.0332, 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.7409 -> 2.0000 (boost 0.2591, better) | predicted_HBP: 0.8780 -> 0.0000 (deboost -0.8780, worse) | AB rounded to 8 (raw=8.46), rates preserved: AVG=0.206 HR/AB=0.024 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Sample-size BvP blend (BvP AB=21.0, weight=0.165, BvP AVG=0.143) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8291 -> 1.0000 (boost 0.1709, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2712 -> 0.3330 (boost 0.0618, better) | predicted_SLG: 0.3204 -> 0.2500 (deboost -0.0704, 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.3204 (boost 0.0704, better) | predicted_OBP: 0.3330 -> 0.2712 (deboost -0.0618, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670623",
"player_name": "Isaac Paredes",
"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.184,
"predicted_3B": 0.0,
"predicted_AB": 3.99,
"predicted_AVG": 0.224,
"predicted_BB": 0.393,
"predicted_H": 0.89,
"predicted_HR": 0.1,
"predicted_OBP": 0.303,
"predicted_R": 0.427,
"predicted_RBI": 0.37,
"predicted_SLG": 0.352,
"predicted_SO": 0.65
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3602,
"predicted_3B": 0.0009,
"predicted_AB": 8.4629,
"predicted_AVG": 0.214,
"predicted_BB": 0.7625,
"predicted_H": 1.7523,
"predicted_HBP": 0.878,
"predicted_HR": 0.2061,
"predicted_OBP": 0.3044,
"predicted_R": 0.8374,
"predicted_RBI": 0.8386,
"predicted_SLG": 0.3358,
"predicted_SO": 1.2806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.184,
"after": 0.3602,
"delta": 0.1762,
"percent_delta": 0.9576,
"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.99,
"after": 8.4629,
"delta": 4.4729,
"percent_delta": 1.121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.214,
"delta": -0.01,
"percent_delta": -0.0446,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.393,
"after": 0.7625,
"delta": 0.3695,
"percent_delta": 0.9402,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.89,
"after": 1.7523,
"delta": 0.8623,
"percent_delta": 0.9689,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.2061,
"delta": 0.1061,
"percent_delta": 1.061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.303,
"after": 0.3044,
"delta": 0.0014,
"percent_delta": 0.0046,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.8374,
"delta": 0.4104,
"percent_delta": 0.9611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.8386,
"delta": 0.4686,
"percent_delta": 1.2665,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3358,
"delta": -0.0162,
"percent_delta": -0.046,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.65,
"after": 1.2806,
"delta": 0.6306,
"percent_delta": 0.9702,
"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.99,
"after": 8.4629,
"delta": 4.4729,
"percent_delta": 1.121,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3358,
"delta": -0.0162,
"percent_delta": -0.046,
"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": 3,
"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.3602,
"predicted_3B": 0.0009,
"predicted_AB": 8.4629,
"predicted_AVG": 0.2057,
"predicted_BB": 0.7609,
"predicted_H": 1.7409,
"predicted_HBP": 0.878,
"predicted_HR": 0.2029,
"predicted_OBP": 0.2712,
"predicted_R": 0.8291,
"predicted_RBI": 0.8303,
"predicted_SLG": 0.3204,
"predicted_SO": 1.2833
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3602,
"after": 0.3602,
"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.4629,
"after": 8.4629,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.214,
"after": 0.2057,
"delta": -0.0083,
"percent_delta": -0.0388,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7625,
"after": 0.7609,
"delta": -0.0016,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7523,
"after": 1.7409,
"delta": -0.0114,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.878,
"after": 0.878,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2061,
"after": 0.2029,
"delta": -0.0032,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3044,
"after": 0.2712,
"delta": -0.0332,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8374,
"after": 0.8291,
"delta": -0.0083,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8386,
"after": 0.8303,
"delta": -0.0083,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3358,
"after": 0.3204,
"delta": -0.0154,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2806,
"after": 1.2833,
"delta": 0.0027,
"percent_delta": 0.0021,
"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.3044,
"after": 0.2712,
"delta": -0.0332,
"percent_delta": -0.1091,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.46), rates preserved: AVG=0.206 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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3602,
"after": 0.0,
"delta": -0.3602,
"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.4629,
"after": 8.0,
"delta": -0.4629,
"percent_delta": -0.0547,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7609,
"after": 1.0,
"delta": 0.2391,
"percent_delta": 0.3142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7409,
"after": 2.0,
"delta": 0.2591,
"percent_delta": 0.1488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.878,
"after": 0.0,
"delta": -0.878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2029,
"after": 0.0,
"delta": -0.2029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8303,
"after": 1.0,
"delta": 0.1697,
"percent_delta": 0.2044,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2833,
"after": 1.0,
"delta": -0.2833,
"percent_delta": -0.2208,
"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.7409,
"after": 2.0,
"delta": 0.2591,
"percent_delta": 0.1488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.878,
"after": 0.0,
"delta": -0.878,
"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=21.0, weight=0.165, 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": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8353,
"bvp": 0.1647
},
"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.8291,
"after": 1.0,
"delta": 0.1709,
"percent_delta": 0.2061,
"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.8291,
"after": 1.0,
"delta": 0.1709,
"percent_delta": 0.2061,
"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.2057,
"after": 0.25,
"delta": 0.0443,
"percent_delta": 0.2154,
"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.2712,
"after": 0.333,
"delta": 0.0618,
"percent_delta": 0.2279,
"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.3204,
"after": 0.25,
"delta": -0.0704,
"percent_delta": -0.2197,
"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.2712,
"after": 0.333,
"delta": 0.0618,
"percent_delta": 0.2279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3204,
"after": 0.25,
"delta": -0.0704,
"percent_delta": -0.2197,
"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.2057,
"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.2712,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3204,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2057,
"delta": -0.0443,
"percent_delta": -0.1772,
"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.2712,
"delta": -0.0618,
"percent_delta": -0.1855,
"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.3204,
"delta": 0.0704,
"percent_delta": 0.2816,
"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.3204,
"delta": 0.0704,
"percent_delta": 0.2816,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2712,
"delta": -0.0618,
"percent_delta": -0.1855,
"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.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.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2057,
"delta": -0.0183,
"percent_delta": -0.0817,
"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.89,
"after": 1.0,
"delta": 0.11,
"percent_delta": 0.1236,
"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.303,
"after": 0.2712,
"delta": -0.0318,
"percent_delta": -0.105,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.427,
"after": 0.0,
"delta": -0.427,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.352,
"after": 0.3204,
"delta": -0.0316,
"percent_delta": -0.0898,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"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.65,
"after": 1.0,
"delta": 0.35,
"percent_delta": 0.5385,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.427,
"after": 0.0,
"delta": -0.427,
"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.990 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.393 | - |
| predicted_H | 0.890 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.303 | - |
| predicted_R | 0.427 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 0.650 | - |
Final model 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.360 | 0.176 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.463 | 4.473 |
| predicted_AVG | 0.214 | -0.010 |
| predicted_BB | 0.762 | 0.369 |
| predicted_H | 1.752 | 0.862 |
| predicted_HBP | 0.878 | - |
| predicted_HR | 0.206 | 0.106 |
| predicted_OBP | 0.304 | 0.001 |
| predicted_R | 0.837 | 0.410 |
| predicted_RBI | 0.839 | 0.469 |
| predicted_SLG | 0.336 | -0.016 |
| predicted_SO | 1.281 | 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.360 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.463 | 0.000 |
| predicted_AVG | 0.206 | -0.008 |
| predicted_BB | 0.761 | -0.002 |
| predicted_H | 1.741 | -0.011 |
| predicted_HBP | 0.878 | 0.000 |
| predicted_HR | 0.203 | -0.003 |
| predicted_OBP | 0.271 | -0.033 |
| predicted_R | 0.829 | -0.008 |
| predicted_RBI | 0.830 | -0.008 |
| predicted_SLG | 0.320 | -0.015 |
| predicted_SO | 1.283 | 0.003 |
AB rounded to 8 (raw=8.46), rates preserved: AVG=0.206 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 | 1.000 | - |
Sample-size BvP blend (BvP AB=21.0, weight=0.165, 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 | 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 | 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.360 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.463 |
| predicted_AVG | 0.250 | 0.044 |
| predicted_BB | 1.000 | 0.239 |
| predicted_H | 2.000 | 0.259 |
| predicted_HR | 0.000 | -0.203 |
| predicted_OBP | 0.333 | 0.062 |
| predicted_R | 1.000 | 0.171 |
| predicted_RBI | 1.000 | 0.170 |
| predicted_SLG | 0.250 | -0.070 |
| predicted_SO | 2.000 | 0.717 |
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 | 2 | - | 17.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.1905 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 37.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.0000 | 0.1190 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| season | 0.60 | 50 | - | 772.000 | 185.000 | 38.000 | 0.000 | 22.000 | 93.000 | 88.000 | 81.000 | 134.000 | 0.2396 | 0.3337 | 0.3744 | 0.2396 | 0.0285 | 0.1205 | 0.1049 | 0.1736 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5840 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.1470 |
| predicted_AVG | 0.2013 |
| predicted_BB | 1.2320 |
| predicted_H | 2.8480 |
| predicted_HBP | 0.8780 |
| predicted_HR | 0.3410 |
| predicted_OBP | 0.3061 |
| predicted_R | 1.3590 |
| predicted_RBI | 1.4340 |
| predicted_SLG | 0.3151 |
| predicted_SO | 2.0820 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1840 | 0.5840 | 0.3602 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9900 | 14.1470 | 8.4629 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2013 | 0.2140 | model_form_blend |
| predicted_BB | 0.3930 | 1.2320 | 0.7625 | model_form_blend |
| predicted_H | 0.8900 | 2.8480 | 1.7523 | model_form_blend |
| predicted_HBP | - | 0.8780 | 0.8780 | form_only |
| predicted_HR | 0.1000 | 0.3410 | 0.2061 | model_form_blend |
| predicted_OBP | 0.3030 | 0.3061 | 0.3044 | model_form_blend |
| predicted_R | 0.4270 | 1.3590 | 0.8374 | model_form_blend |
| predicted_RBI | 0.3700 | 1.4340 | 0.8386 | model_form_blend |
| predicted_SLG | 0.3520 | 0.3151 | 0.3358 | model_form_blend |
| predicted_SO | 0.6500 | 2.0820 | 1.2806 | 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 | 206 |
| Season rows before report date | 206 |
| Report year | 2026 |
| Profile rows used | 206 |
| 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.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 | 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 | 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 |
| gameID | 20260527_HOU@TEX |
| game_type | ph |
| mlbID | 670623 |
| note | Popped out for Shewmake in the 8th. |
| playerID | 670623 |
| playerName | Isaac Paredes |
| pos | 3B |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 15.9 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.319 |
| sl_xwoba | 0.31 |
| sl_xba | 0.24 |
| sl_xslg | 0.355 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 27.3 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 25.0 |
| sl_whiff_percent | 16.1 |
| sl_swing_percent | 44.1 |
| at_bat_number | 60.0 |
| ab_pitcher | 686560.0 |
| ab_pitcher_name | Collyer, Gavin |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_3b_start | 666211.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Isaac Paredes pops out to second baseman Justin Foscue. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 52.2 |
| ab_launch_angle_last | 48.0 |
| ab_hit_distance_last | 137.0 |
| ab_estimated_ba_last | 0.026 |
| ab_estimated_woba_last | 0.023 |
| ab_estimated_slg_last | 0.026 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 93.35 |
| ab_release_spin_rate_avg | 2432.1666666666665 |
| ab_effective_speed_avg | 93.13333333333333 |
| ab_launch_speed_avg | 64.30000000000001 |
| ab_launch_angle_avg | 10.5 |
| ab_delta_run_exp_avg | -0.0211666666666666 |
| ab_delta_home_win_exp_avg | 0.0063333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0211666666666666 |
| ab_bat_speed_avg | 64.9 |
| ab_swing_length_avg | 7.25 |
| ab_launch_speed_max | 76.4 |
| ab_hit_distance_sc_max | 137.0 |
| ab_release_speed_max | 97.3 |
| ab_release_spin_rate_max | 2591.0 |
| ab_release_speed_min | 89.3 |
| ab_release_spin_rate_min | 2278.0 |
| ab_delta_run_exp_sum | -0.127 |
| ab_delta_home_win_exp_sum | 0.038 |
| ab_delta_pitcher_run_exp_sum | 0.127 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.231 | 0.000 | 0.000 | Hitting_2B | 0.225 | 1.000 | -0.225 | -1.000 |
| predicted_3B | 0.103 | 0.000 | 0.000 | Hitting_3B | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_AB | 3.385 | 4.000 | 6.000 | Hitting_AB | 3.300 | 3.000 | 0.700 | 1.000 |
| predicted_AVG | 0.278 | 0.500 | 0.333 | Hitting_AVG | 0.371 | 0.667 | 0.129 | -0.167 |
| predicted_BB | 0.282 | 0.000 | 0.000 | Hitting_BB | 0.300 | 0.000 | -0.300 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.340 | 2.000 | 2.000 | Hitting_H | 1.225 | 2.000 | 0.775 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.334 | 0.500 | 0.333 | Hitting_OBP | 0.424 | 0.667 | 0.076 | -0.167 |
| predicted_R | 0.538 | 0.000 | 1.000 | Hitting_R | 0.525 | 1.000 | -0.525 | -1.000 |
| predicted_RBI | 0.160 | 0.000 | 1.000 | Hitting_RBI | 0.475 | 0.000 | -0.475 | 0.000 |
| predicted_SLG | 0.433 | 0.500 | 0.333 | Hitting_SLG | 0.500 | 1.000 | 0.000 | -0.500 |
| predicted_SO | 1.051 | 1.000 | 2.000 | Hitting_SO | 1.025 | 1.000 | -0.025 | 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_H: 0.3400 -> 2.0000 (boost 1.6600, better) |
| 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.3850 -> 5.9232 (boost 2.5382, 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.3729 -> 0.3373 (deboost -0.0356, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 4 | 3 | 3 | 4 | predicted_RBI: 0.5443 -> 1.0000 (boost 0.4557, better) | predicted_2B: 0.4853 -> 0.0000 (deboost -0.4853, worse) | AB rounded to 6 (raw=5.92), rates preserved: AVG=0.286 HR/AB=0.008 |
| 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 | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2862 -> 0.3330 (boost 0.0468, better) | predicted_SLG: 0.4435 -> 0.3330 (deboost -0.1105, 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 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4435 (boost 0.1105, better) | predicted_AVG: 0.3330 -> 0.2862 (deboost -0.0468, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666211",
"player_name": "Taylor Trammell",
"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.231,
"predicted_3B": 0.103,
"predicted_AB": 3.385,
"predicted_AVG": 0.278,
"predicted_BB": 0.282,
"predicted_H": 0.34,
"predicted_HR": 0.04,
"predicted_OBP": 0.334,
"predicted_R": 0.538,
"predicted_RBI": 0.16,
"predicted_SLG": 0.433,
"predicted_SO": 1.051
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4853,
"predicted_3B": 0.1541,
"predicted_AB": 5.9232,
"predicted_AVG": 0.3212,
"predicted_BB": 0.4581,
"predicted_H": 1.7063,
"predicted_HBP": 0.015,
"predicted_HR": 0.0468,
"predicted_OBP": 0.3729,
"predicted_R": 0.978,
"predicted_RBI": 0.5497,
"predicted_SLG": 0.4757,
"predicted_SO": 1.7817
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.231,
"after": 0.4853,
"delta": 0.2543,
"percent_delta": 1.1009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.103,
"after": 0.1541,
"delta": 0.0511,
"percent_delta": 0.4961,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.385,
"after": 5.9232,
"delta": 2.5382,
"percent_delta": 0.7498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.3212,
"delta": 0.0432,
"percent_delta": 0.1554,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.4581,
"delta": 0.1761,
"percent_delta": 0.6245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 1.7063,
"delta": 1.3663,
"percent_delta": 4.0185,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0468,
"delta": 0.0068,
"percent_delta": 0.17,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3729,
"delta": 0.0389,
"percent_delta": 0.1165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 0.978,
"delta": 0.44,
"percent_delta": 0.8178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.16,
"after": 0.5497,
"delta": 0.3897,
"percent_delta": 2.4356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4757,
"delta": 0.0427,
"percent_delta": 0.0986,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 1.7817,
"delta": 0.7307,
"percent_delta": 0.6952,
"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.385,
"after": 5.9232,
"delta": 2.5382,
"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": 2,
"last_10": 4,
"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.4853,
"predicted_3B": 0.1541,
"predicted_AB": 5.9232,
"predicted_AVG": 0.2862,
"predicted_BB": 0.4571,
"predicted_H": 1.6952,
"predicted_HBP": 0.015,
"predicted_HR": 0.0461,
"predicted_OBP": 0.3373,
"predicted_R": 0.9683,
"predicted_RBI": 0.5443,
"predicted_SLG": 0.4435,
"predicted_SO": 1.7854
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4853,
"after": 0.4853,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1541,
"after": 0.1541,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.9232,
"after": 5.9232,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3212,
"after": 0.2862,
"delta": -0.035,
"percent_delta": -0.109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4581,
"after": 0.4571,
"delta": -0.001,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7063,
"after": 1.6952,
"delta": -0.0111,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.015,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0468,
"after": 0.0461,
"delta": -0.0007,
"percent_delta": -0.015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3729,
"after": 0.3373,
"delta": -0.0356,
"percent_delta": -0.0955,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.978,
"after": 0.9683,
"delta": -0.0097,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5497,
"after": 0.5443,
"delta": -0.0054,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4757,
"after": 0.4435,
"delta": -0.0322,
"percent_delta": -0.0677,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7817,
"after": 1.7854,
"delta": 0.0037,
"percent_delta": 0.0021,
"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.3729,
"after": 0.3373,
"delta": -0.0356,
"percent_delta": -0.0955,
"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.286 HR/AB=0.008",
"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.4853,
"after": 0.0,
"delta": -0.4853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1541,
"after": 0.0,
"delta": -0.1541,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.9232,
"after": 6.0,
"delta": 0.0768,
"percent_delta": 0.013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4571,
"after": 0.0,
"delta": -0.4571,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6952,
"after": 2.0,
"delta": 0.3048,
"percent_delta": 0.1798,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.015,
"after": 0.0,
"delta": -0.015,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0461,
"after": 0.0,
"delta": -0.0461,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5443,
"after": 1.0,
"delta": 0.4557,
"percent_delta": 0.8372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7854,
"after": 2.0,
"delta": 0.2146,
"percent_delta": 0.1202,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 4,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5443,
"after": 1.0,
"delta": 0.4557,
"percent_delta": 0.8372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4853,
"after": 0.0,
"delta": -0.4853,
"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=6.0, weight=0.067, BvP AVG=0.167)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 6.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 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_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": 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": 0.9683,
"after": 1.0,
"delta": 0.0317,
"percent_delta": 0.0327,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.2862,
"after": 0.333,
"delta": 0.0468,
"percent_delta": 0.1635,
"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.3373,
"after": 0.333,
"delta": -0.0043,
"percent_delta": -0.0127,
"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.4435,
"after": 0.333,
"delta": -0.1105,
"percent_delta": -0.2492,
"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_AVG",
"before": 0.2862,
"after": 0.333,
"delta": 0.0468,
"percent_delta": 0.1635,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4435,
"after": 0.333,
"delta": -0.1105,
"percent_delta": -0.2492,
"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": 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": 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": 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": 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.2862,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3373,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4435,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2862,
"delta": -0.0468,
"percent_delta": -0.1405,
"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.3373,
"delta": 0.0043,
"percent_delta": 0.013,
"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.4435,
"delta": 0.1105,
"percent_delta": 0.3318,
"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.333,
"after": 0.4435,
"delta": 0.1105,
"percent_delta": 0.3318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2862,
"delta": -0.0468,
"percent_delta": -0.1405,
"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.231,
"after": 0.0,
"delta": -0.231,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.103,
"after": 0.0,
"delta": -0.103,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.385,
"after": 4.0,
"delta": 0.615,
"percent_delta": 0.1817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.278,
"after": 0.2862,
"delta": 0.0082,
"percent_delta": 0.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.282,
"after": 0.0,
"delta": -0.282,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.34,
"after": 2.0,
"delta": 1.66,
"percent_delta": 4.8824,
"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.334,
"after": 0.3373,
"delta": 0.0033,
"percent_delta": 0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.16,
"after": 0.0,
"delta": -0.16,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.433,
"after": 0.4435,
"delta": 0.0105,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.051,
"after": 1.0,
"delta": -0.051,
"percent_delta": -0.0485,
"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.34,
"after": 2.0,
"delta": 1.66,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"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": "deboosted"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.231 | - |
| predicted_3B | 0.103 | - |
| predicted_AB | 3.385 | - |
| predicted_AVG | 0.278 | - |
| predicted_BB | 0.282 | - |
| predicted_H | 0.340 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.160 | - |
| predicted_SLG | 0.433 | - |
| predicted_SO | 1.051 | - |
Final model 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.485 | 0.254 |
| predicted_3B | 0.154 | 0.051 |
| predicted_AB | 5.923 | 2.538 |
| predicted_AVG | 0.321 | 0.043 |
| predicted_BB | 0.458 | 0.176 |
| predicted_H | 1.706 | 1.366 |
| predicted_HBP | 0.015 | - |
| predicted_HR | 0.047 | 0.007 |
| predicted_OBP | 0.373 | 0.039 |
| predicted_R | 0.978 | 0.440 |
| predicted_RBI | 0.550 | 0.390 |
| predicted_SLG | 0.476 | 0.043 |
| predicted_SO | 1.782 | 0.731 |
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.485 | 0.000 |
| predicted_3B | 0.154 | 0.000 |
| predicted_AB | 5.923 | 0.000 |
| predicted_AVG | 0.286 | -0.035 |
| predicted_BB | 0.457 | -0.001 |
| predicted_H | 1.695 | -0.011 |
| predicted_HBP | 0.015 | 0.000 |
| predicted_HR | 0.046 | -0.001 |
| predicted_OBP | 0.337 | -0.036 |
| predicted_R | 0.968 | -0.010 |
| predicted_RBI | 0.544 | -0.005 |
| predicted_SLG | 0.444 | -0.032 |
| predicted_SO | 1.785 | 0.004 |
AB rounded to 6 (raw=5.92), rates preserved: AVG=0.286 HR/AB=0.008
| 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 | - |
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 | 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 | 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.485 |
| predicted_3B | 0.000 | -0.154 |
| predicted_AB | 6.000 | 0.077 |
| predicted_AVG | 0.333 | 0.047 |
| predicted_BB | 0.000 | -0.457 |
| predicted_H | 2.000 | 0.305 |
| predicted_HR | 0.000 | -0.046 |
| predicted_OBP | 0.333 | -0.004 |
| predicted_R | 1.000 | 0.032 |
| predicted_RBI | 1.000 | 0.456 |
| predicted_SLG | 0.333 | -0.110 |
| predicted_SO | 2.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 | 4.000 | -2.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 | 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 | 2 | - | 15.000 | 9.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 5.000 | 0.6000 | 0.6000 | 0.8667 | 0.6000 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| last_10 | 0.20 | 4 | - | 27.000 | 15.000 | 4.000 | 1.000 | 0.000 | 0.000 | 6.000 | 2.000 | 8.000 | 0.5556 | 0.5862 | 0.7778 | 0.5556 | 0.0000 | 0.0000 | 0.0741 | 0.2963 |
| season | 0.60 | 11 | - | 132.000 | 49.000 | 9.000 | 4.000 | 0.000 | 19.000 | 21.000 | 11.000 | 41.000 | 0.3712 | 0.4196 | 0.5000 | 0.3712 | 0.0000 | 0.1439 | 0.0833 | 0.3106 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8680 |
| predicted_3B | 0.2310 |
| predicted_AB | 9.7420 |
| predicted_AVG | 0.3861 |
| predicted_BB | 0.7230 |
| predicted_H | 3.7620 |
| predicted_HBP | 0.0150 |
| predicted_HR | 0.0570 |
| predicted_OBP | 0.4314 |
| predicted_R | 1.6400 |
| predicted_RBI | 1.1360 |
| predicted_SLG | 0.5400 |
| predicted_SO | 2.8810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2310 | 0.8680 | 0.4853 | model_form_blend |
| predicted_3B | 0.1030 | 0.2310 | 0.1541 | model_form_blend |
| predicted_AB | 3.3850 | 9.7420 | 5.9232 | model_form_blend |
| predicted_AVG | 0.2780 | 0.3861 | 0.3212 | model_form_blend |
| predicted_BB | 0.2820 | 0.7230 | 0.4581 | model_form_blend |
| predicted_H | 0.3400 | 3.7620 | 1.7063 | model_form_blend |
| predicted_HBP | - | 0.0150 | 0.0150 | form_only |
| predicted_HR | 0.0400 | 0.0570 | 0.0468 | model_form_blend |
| predicted_OBP | 0.3340 | 0.4314 | 0.3729 | model_form_blend |
| predicted_R | 0.5380 | 1.6400 | 0.9780 | model_form_blend |
| predicted_RBI | 0.1600 | 1.1360 | 0.5497 | model_form_blend |
| predicted_SLG | 0.4330 | 0.5400 | 0.4757 | model_form_blend |
| predicted_SO | 1.0510 | 2.8810 | 1.7817 | 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 | 40 |
| Season rows before report date | 40 |
| Report year | 2026 |
| Profile rows used | 39 |
| 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 | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.371 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 0 |
| Hitting_SAC | 1 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 4 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 666211 |
| playerID | 666211 |
| playerName | Taylor Trammell |
| pos | CF |
| started | True |
| startingPosition | LF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 11.1 |
| sl_woba | 0.383 |
| sl_xwoba | 0.288 |
| sl_xba | 0.221 |
| sl_xslg | 0.329 |
| sl_sweet_spot_percent | 31.8 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 40.9 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 7.3 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 45.2 |
| at_bat_number | 58.0 |
| ab_pitcher | 641302.0 |
| ab_pitcher_name | Alexander, Tyler |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 572233.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 2.0 |
| ab_event | sac_bunt |
| ab_event_description | Taylor Trammell hits a sacrifice bunt. Throwing error by pitcher Tyler Alexander. Christian Walker scores. Taylor Trammell to 3rd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 1.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 42.0 |
| ab_launch_angle_last | -68.0 |
| ab_hit_distance_last | 1.0 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 0.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 90.5 |
| ab_release_spin_rate_avg | 2136.333333333333 |
| ab_effective_speed_avg | 90.93333333333334 |
| ab_launch_speed_avg | 42.0 |
| ab_launch_angle_avg | -68.0 |
| ab_delta_run_exp_avg | -0.0086666666666666 |
| ab_delta_home_win_exp_avg | -0.0456666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0086666666666666 |
| ab_launch_speed_max | 42.0 |
| ab_hit_distance_sc_max | 1.0 |
| ab_release_speed_max | 92.0 |
| ab_release_spin_rate_max | 2320.0 |
| ab_release_speed_min | 88.1 |
| ab_release_spin_rate_min | 2030.0 |
| ab_delta_run_exp_sum | -0.026 |
| ab_delta_home_win_exp_sum | -0.137 |
| ab_delta_pitcher_run_exp_sum | 0.026 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.203 | 0.000 | 0.000 | Hitting_2B | 0.203 | 0.000 | -0.203 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.060 | 4.000 | 10.000 | Hitting_AB | 3.714 | 4.000 | 0.286 | 0.000 |
| predicted_AVG | 0.272 | 0.250 | 0.400 | Hitting_AVG | 0.335 | 0.750 | -0.085 | -0.500 |
| predicted_BB | 0.718 | 0.000 | 2.000 | Hitting_BB | 0.718 | 1.000 | -0.718 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 1.000 | 4.000 | Hitting_H | 1.245 | 3.000 | -0.245 | -2.000 |
| predicted_HR | 0.390 | 0.000 | 1.000 | Hitting_HR | 0.407 | 2.000 | -0.407 | -2.000 |
| predicted_OBP | 0.391 | 0.400 | 0.500 | Hitting_OBP | 0.449 | 0.800 | -0.049 | -0.400 |
| predicted_R | 0.726 | 0.000 | 2.000 | Hitting_R | 0.726 | 2.000 | -0.726 | -2.000 |
| predicted_RBI | 0.860 | 0.000 | 2.000 | Hitting_RBI | 0.763 | 2.000 | -0.763 | -2.000 |
| predicted_SLG | 0.654 | 0.250 | 0.700 | Hitting_SLG | 0.718 | 2.250 | -0.468 | -2.000 |
| predicted_SO | 0.739 | 1.000 | 2.000 | Hitting_SO | 0.739 | 1.000 | 0.261 | 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_SO: 0.7390 -> 1.0000 (boost 0.2610, worse) |
| Biggest Deboost | predicted_RBI: 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: 4.0600 -> 9.5657 (boost 5.5057, 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.7472 -> 0.7956 (boost 0.0484, 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_AB: 9.5657 -> 10.0000 (boost 0.4343, better) | predicted_2B: 0.4661 -> 0.0000 (deboost -0.4661, worse) | AB rounded to 10 (raw=9.57), rates preserved: AVG=0.344 HR/AB=0.134 |
| 5 | bvp_blend | 1 | 1 | 0 | 1 | 0 | predicted_H: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.522) |
| 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_AVG: 0.3437 -> 0.4000 (boost 0.0563, better) | predicted_SLG: 0.7956 -> 0.7000 (deboost -0.0956, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 8 | 1 | 7 | 2 | 6 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 10.0000 -> 4.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.7000 -> 0.7956 (boost 0.0956, better) | predicted_AVG: 0.4000 -> 0.3437 (deboost -0.0563, 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.203,
"predicted_3B": 0.0,
"predicted_AB": 4.06,
"predicted_AVG": 0.272,
"predicted_BB": 0.718,
"predicted_H": 1.1,
"predicted_HR": 0.39,
"predicted_OBP": 0.391,
"predicted_R": 0.726,
"predicted_RBI": 0.86,
"predicted_SLG": 0.654,
"predicted_SO": 0.739
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4661,
"predicted_3B": 0.0009,
"predicted_AB": 9.5657,
"predicted_AVG": 0.315,
"predicted_BB": 1.7784,
"predicted_H": 3.3096,
"predicted_HBP": 0.273,
"predicted_HR": 1.3053,
"predicted_OBP": 0.4277,
"predicted_R": 2.0504,
"predicted_RBI": 2.2821,
"predicted_SLG": 0.7472,
"predicted_SO": 1.9462
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.4661,
"delta": 0.2631,
"percent_delta": 1.2961,
"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.06,
"after": 9.5657,
"delta": 5.5057,
"percent_delta": 1.3561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.315,
"delta": 0.043,
"percent_delta": 0.1581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.718,
"after": 1.7784,
"delta": 1.0604,
"percent_delta": 1.4769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 3.3096,
"delta": 2.2096,
"percent_delta": 2.0087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.39,
"after": 1.3053,
"delta": 0.9153,
"percent_delta": 2.3469,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.391,
"after": 0.4277,
"delta": 0.0367,
"percent_delta": 0.0939,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.726,
"after": 2.0504,
"delta": 1.3244,
"percent_delta": 1.8242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.86,
"after": 2.2821,
"delta": 1.4221,
"percent_delta": 1.6536,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.654,
"after": 0.7472,
"delta": 0.0932,
"percent_delta": 0.1425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 1.9462,
"delta": 1.2072,
"percent_delta": 1.6336,
"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.06,
"after": 9.5657,
"delta": 5.5057,
"percent_delta": 1.3561,
"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": 1,
"last_10": 2,
"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.4661,
"predicted_3B": 0.0009,
"predicted_AB": 9.5657,
"predicted_AVG": 0.3437,
"predicted_BB": 1.7747,
"predicted_H": 3.2881,
"predicted_HBP": 0.273,
"predicted_HR": 1.2849,
"predicted_OBP": 0.4464,
"predicted_R": 2.0301,
"predicted_RBI": 2.2595,
"predicted_SLG": 0.7956,
"predicted_SO": 1.9503
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4661,
"after": 0.4661,
"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": 9.5657,
"after": 9.5657,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.315,
"after": 0.3437,
"delta": 0.0287,
"percent_delta": 0.0911,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.7784,
"after": 1.7747,
"delta": -0.0037,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.3096,
"after": 3.2881,
"delta": -0.0215,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.273,
"after": 0.273,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.3053,
"after": 1.2849,
"delta": -0.0204,
"percent_delta": -0.0156,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4277,
"after": 0.4464,
"delta": 0.0187,
"percent_delta": 0.0437,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0504,
"after": 2.0301,
"delta": -0.0203,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.2821,
"after": 2.2595,
"delta": -0.0226,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.7472,
"after": 0.7956,
"delta": 0.0484,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9462,
"after": 1.9503,
"delta": 0.0041,
"percent_delta": 0.0021,
"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.7472,
"after": 0.7956,
"delta": 0.0484,
"percent_delta": 0.0648,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=9.57), rates preserved: AVG=0.344 HR/AB=0.134",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 2.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.4661,
"after": 0.0,
"delta": -0.4661,
"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": 9.5657,
"after": 10.0,
"delta": 0.4343,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.7747,
"after": 2.0,
"delta": 0.2253,
"percent_delta": 0.127,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.2881,
"after": 3.0,
"delta": -0.2881,
"percent_delta": -0.0876,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.273,
"after": 0.0,
"delta": -0.273,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.2849,
"after": 1.0,
"delta": -0.2849,
"percent_delta": -0.2217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 2.2595,
"after": 2.0,
"delta": -0.2595,
"percent_delta": -0.1148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9503,
"after": 2.0,
"delta": 0.0497,
"percent_delta": 0.0255,
"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_AB",
"before": 9.5657,
"after": 10.0,
"delta": 0.4343,
"percent_delta": 0.0454,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4661,
"after": 0.0,
"delta": -0.4661,
"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=23.0, weight=0.174, BvP AVG=0.522)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.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": 10.0,
"after": 10.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": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.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_H",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.8264,
"bvp": 0.1736
},
"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": 10.0,
"predicted_BB": 2.0,
"predicted_CS": 0.0,
"predicted_H": 4.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0,
"after": 10.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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"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.0301,
"after": 2.0,
"delta": -0.0301,
"percent_delta": -0.0148,
"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_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": 10.0,
"predicted_AVG": 0.4,
"predicted_BB": 2.0,
"predicted_H": 4.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.5,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.7,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3437,
"after": 0.4,
"delta": 0.0563,
"percent_delta": 0.1638,
"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_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_OBP",
"before": 0.4464,
"after": 0.5,
"delta": 0.0536,
"percent_delta": 0.1201,
"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.7956,
"after": 0.7,
"delta": -0.0956,
"percent_delta": -0.1202,
"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.3437,
"after": 0.4,
"delta": 0.0563,
"percent_delta": 0.1638,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.7956,
"after": 0.7,
"delta": -0.0956,
"percent_delta": -0.1202,
"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": 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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"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": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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_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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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.3437,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4464,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.7956,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.4,
"after": 0.3437,
"delta": -0.0563,
"percent_delta": -0.1407,
"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": 1.0,
"after": 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.5,
"after": 0.4464,
"delta": -0.0536,
"percent_delta": -0.1071,
"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.7,
"after": 0.7956,
"delta": 0.0956,
"percent_delta": 0.1366,
"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.7,
"after": 0.7956,
"delta": 0.0956,
"percent_delta": 0.1366,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.4,
"after": 0.3437,
"delta": -0.0563,
"percent_delta": -0.1407,
"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.203,
"after": 0.0,
"delta": -0.203,
"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.06,
"after": 4.0,
"delta": -0.06,
"percent_delta": -0.0148,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.272,
"after": 0.3437,
"delta": 0.0717,
"percent_delta": 0.2636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.718,
"after": 0.0,
"delta": -0.718,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.39,
"after": 0.0,
"delta": -0.39,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.391,
"after": 0.4464,
"delta": 0.0554,
"percent_delta": 0.1417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.654,
"after": 0.7956,
"delta": 0.1416,
"percent_delta": 0.2165,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.739,
"after": 1.0,
"delta": 0.261,
"percent_delta": 0.3532,
"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.739,
"after": 1.0,
"delta": 0.261,
"percent_delta": 0.3532,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"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.203 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.060 | - |
| predicted_AVG | 0.272 | - |
| predicted_BB | 0.718 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.390 | - |
| predicted_OBP | 0.391 | - |
| predicted_R | 0.726 | - |
| predicted_RBI | 0.860 | - |
| predicted_SLG | 0.654 | - |
| predicted_SO | 0.739 | - |
Final model 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.466 | 0.263 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.566 | 5.506 |
| predicted_AVG | 0.315 | 0.043 |
| predicted_BB | 1.778 | 1.060 |
| predicted_H | 3.310 | 2.210 |
| predicted_HBP | 0.273 | - |
| predicted_HR | 1.305 | 0.915 |
| predicted_OBP | 0.428 | 0.037 |
| predicted_R | 2.050 | 1.324 |
| predicted_RBI | 2.282 | 1.422 |
| predicted_SLG | 0.747 | 0.093 |
| predicted_SO | 1.946 | 1.207 |
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.466 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.566 | 0.000 |
| predicted_AVG | 0.344 | 0.029 |
| predicted_BB | 1.775 | -0.004 |
| predicted_H | 3.288 | -0.022 |
| predicted_HBP | 0.273 | 0.000 |
| predicted_HR | 1.285 | -0.020 |
| predicted_OBP | 0.446 | 0.019 |
| predicted_R | 2.030 | -0.020 |
| predicted_RBI | 2.260 | -0.023 |
| predicted_SLG | 0.796 | 0.048 |
| predicted_SO | 1.950 | 0.004 |
AB rounded to 10 (raw=9.57), rates preserved: AVG=0.344 HR/AB=0.134
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.000 | - |
| BB | 2.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 2.000 | - |
Sample-size BvP blend (BvP AB=23.0, weight=0.174, BvP AVG=0.522)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 10.000 | 0.000 |
| BB | 2.000 | 0.000 |
| H | 4.000 | 1.000 |
| HR | 1.000 | 0.000 |
| RBI | 2.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 | 10.000 | 0.000 |
| BB | 2.000 | 0.000 |
| CS | 0.000 | - |
| H | 4.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 | 0.000 | -0.466 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 10.000 | 0.434 |
| predicted_AVG | 0.400 | 0.056 |
| predicted_BB | 2.000 | 0.225 |
| predicted_H | 4.000 | 0.712 |
| predicted_HR | 1.000 | -0.285 |
| predicted_OBP | 0.500 | 0.054 |
| predicted_R | 2.000 | -0.030 |
| predicted_RBI | 2.000 | -0.260 |
| predicted_SLG | 0.700 | -0.096 |
| predicted_SO | 2.000 | 0.050 |
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 | -6.000 |
| BB | 0.000 | -2.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -3.000 |
| HBP | 1.000 | 1.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.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 | 1 | - | 20.000 | 15.000 | 0.000 | 0.000 | 10.000 | 10.000 | 10.000 | 5.000 | 5.000 | 0.7500 | 0.8000 | 2.2500 | 0.7500 | 0.5000 | 0.5000 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 2 | - | 45.000 | 25.000 | 0.000 | 0.000 | 20.000 | 30.000 | 20.000 | 5.000 | 15.000 | 0.5556 | 0.6000 | 1.8889 | 0.5556 | 0.4444 | 0.6667 | 0.1111 | 0.3333 |
| season | 0.60 | 55 | - | 895.000 | 300.000 | 49.000 | 0.000 | 98.000 | 184.000 | 175.000 | 173.000 | 178.000 | 0.3352 | 0.4487 | 0.7184 | 0.3352 | 0.1095 | 0.2056 | 0.1933 | 0.1989 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7980 |
| predicted_3B | 0.0020 |
| predicted_AB | 16.5110 |
| predicted_AVG | 0.3693 |
| predicted_BB | 3.1160 |
| predicted_H | 6.0970 |
| predicted_HBP | 0.2730 |
| predicted_HR | 2.4600 |
| predicted_OBP | 0.4739 |
| predicted_R | 3.7210 |
| predicted_RBI | 4.0760 |
| predicted_SLG | 0.8648 |
| predicted_SO | 3.4690 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.7980 | 0.4661 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0600 | 16.5110 | 9.5657 | model_form_blend |
| predicted_AVG | 0.2720 | 0.3693 | 0.3150 | model_form_blend |
| predicted_BB | 0.7180 | 3.1160 | 1.7784 | model_form_blend |
| predicted_H | 1.1000 | 6.0970 | 3.3096 | model_form_blend |
| predicted_HBP | - | 0.2730 | 0.2730 | form_only |
| predicted_HR | 0.3900 | 2.4600 | 1.3053 | model_form_blend |
| predicted_OBP | 0.3910 | 0.4739 | 0.4277 | model_form_blend |
| predicted_R | 0.7260 | 3.7210 | 2.0504 | model_form_blend |
| predicted_RBI | 0.8600 | 4.0760 | 2.2821 | model_form_blend |
| predicted_SLG | 0.6540 | 0.8648 | 0.7472 | model_form_blend |
| predicted_SO | 0.7390 | 3.4690 | 1.9462 | 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 | 241 |
| Season rows before report date | 241 |
| Report year | 2026 |
| Profile rows used | 241 |
| 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 | 1 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.335 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 1 |
| Hitting_R | 2 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 9 |
| 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 670541 |
| playerID | 670541 |
| playerName | Yordan Alvarez |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 16.7 |
| sl_bb_percent | 14.6 |
| sl_woba | 0.44 |
| sl_xwoba | 0.487 |
| sl_xba | 0.345 |
| sl_xslg | 0.728 |
| sl_sweet_spot_percent | 45.6 |
| sl_barrel_batted_rate | 18.2 |
| sl_hard_hit_percent | 52.5 |
| sl_exit_velocity_avg | 94.3 |
| sl_launch_angle_avg | 19.6 |
| sl_whiff_percent | 19.7 |
| sl_swing_percent | 42.9 |
| at_bat_number | 70.0 |
| ab_pitcher | 686560.0 |
| ab_pitcher_name | Collyer, Gavin |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 665161.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | intent_walk |
| ab_event_description | Gavin Collyer intentionally walks Yordan Alvarez. Jeremy Peña to 2nd. |
| ab_event_type | B |
| ab_woba_value | 0.4 |
| ab_woba_denom | 0.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 4.0 |
| ab_delta_home_win_exp_avg | -0.00375 |
| ab_delta_run_exp_sum | 0.0 |
| ab_delta_home_win_exp_sum | -0.015 |
| ab_delta_pitcher_run_exp_sum | 0.0 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.148 | 0.000 | 0.000 | Hitting_2B | 0.148 | 0.000 | -0.148 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.488 | 4.000 | 7.000 | Hitting_AB | 3.471 | 4.000 | 0.529 | 0.000 |
| predicted_AVG | 0.236 | 0.500 | 0.143 | Hitting_AVG | 0.213 | 0.000 | 0.287 | 0.500 |
| predicted_BB | 0.416 | 0.000 | 1.000 | Hitting_BB | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.014 | 0.000 | -0.014 | 0.000 |
| predicted_H | 0.800 | 2.000 | 1.000 | Hitting_H | 0.738 | 0.000 | 1.262 | 2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_OBP | 0.316 | 0.500 | 0.250 | Hitting_OBP | 0.308 | 0.000 | 0.192 | 0.500 |
| predicted_R | 0.469 | 0.000 | 1.000 | Hitting_R | 0.467 | 0.000 | -0.467 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 1.000 | Hitting_RBI | 0.390 | 0.000 | -0.390 | 0.000 |
| predicted_SLG | 0.387 | 0.500 | 0.143 | Hitting_SLG | 0.333 | 0.000 | 0.167 | 0.500 |
| predicted_SO | 1.115 | 0.000 | 2.000 | Hitting_SO | 1.110 | 2.000 | -1.110 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 3 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_H: 0.8000 -> 2.0000 (boost 1.2000, better) |
| Biggest Deboost | predicted_SO: 1.1150 -> 0.0000 (deboost -1.1150, 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.4880 -> 7.4353 (boost 3.9473, better) | predicted_SLG: 0.3870 -> 0.3626 (deboost -0.0244, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3626 -> 0.3423 (deboost -0.0203, 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_RBI: 0.7674 -> 1.0000 (boost 0.2326, better) | predicted_H: 1.5033 -> 1.0000 (deboost -0.5033, worse) | AB rounded to 7 (raw=7.44), rates preserved: AVG=0.202 HR/AB=0.034 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.000) |
| 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.3423 -> 0.1430 (deboost -0.1993, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 2 | 4 | predicted_H: 1.0000 -> 2.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3423 (boost 0.1993, 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.148,
"predicted_3B": 0.0,
"predicted_AB": 3.488,
"predicted_AVG": 0.236,
"predicted_BB": 0.416,
"predicted_H": 0.8,
"predicted_HR": 0.13,
"predicted_OBP": 0.316,
"predicted_R": 0.469,
"predicted_RBI": 0.34,
"predicted_SLG": 0.387,
"predicted_SO": 1.115
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2795,
"predicted_3B": 0.0009,
"predicted_AB": 7.4353,
"predicted_AVG": 0.2177,
"predicted_BB": 0.8374,
"predicted_H": 1.5131,
"predicted_HBP": 0.275,
"predicted_HR": 0.2576,
"predicted_OBP": 0.3023,
"predicted_R": 1.0233,
"predicted_RBI": 0.7751,
"predicted_SLG": 0.3626,
"predicted_SO": 2.4053
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.148,
"after": 0.2795,
"delta": 0.1315,
"percent_delta": 0.8885,
"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.488,
"after": 7.4353,
"delta": 3.9473,
"percent_delta": 1.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2177,
"delta": -0.0183,
"percent_delta": -0.0775,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.8374,
"delta": 0.4214,
"percent_delta": 1.013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 1.5131,
"delta": 0.7131,
"percent_delta": 0.8914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2576,
"delta": 0.1276,
"percent_delta": 0.9815,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3023,
"delta": -0.0137,
"percent_delta": -0.0434,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 1.0233,
"delta": 0.5543,
"percent_delta": 1.1819,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.7751,
"delta": 0.4351,
"percent_delta": 1.2797,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3626,
"delta": -0.0244,
"percent_delta": -0.063,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.115,
"after": 2.4053,
"delta": 1.2903,
"percent_delta": 1.1572,
"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.488,
"after": 7.4353,
"delta": 3.9473,
"percent_delta": 1.1317,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.387,
"after": 0.3626,
"delta": -0.0244,
"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": 2,
"last_10": 3,
"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.2795,
"predicted_3B": 0.0009,
"predicted_AB": 7.4353,
"predicted_AVG": 0.2022,
"predicted_BB": 0.8356,
"predicted_H": 1.5033,
"predicted_HBP": 0.275,
"predicted_HR": 0.2536,
"predicted_OBP": 0.2828,
"predicted_R": 1.0132,
"predicted_RBI": 0.7674,
"predicted_SLG": 0.3423,
"predicted_SO": 2.4104
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2795,
"after": 0.2795,
"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.4353,
"after": 7.4353,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2177,
"after": 0.2022,
"delta": -0.0155,
"percent_delta": -0.0712,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8374,
"after": 0.8356,
"delta": -0.0018,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5131,
"after": 1.5033,
"delta": -0.0098,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.275,
"after": 0.275,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2576,
"after": 0.2536,
"delta": -0.004,
"percent_delta": -0.0155,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3023,
"after": 0.2828,
"delta": -0.0195,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0233,
"after": 1.0132,
"delta": -0.0101,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7751,
"after": 0.7674,
"delta": -0.0077,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3626,
"after": 0.3423,
"delta": -0.0203,
"percent_delta": -0.056,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4053,
"after": 2.4104,
"delta": 0.0051,
"percent_delta": 0.0021,
"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.3423,
"delta": -0.0203,
"percent_delta": -0.056,
"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.202 HR/AB=0.034",
"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.2795,
"after": 0.0,
"delta": -0.2795,
"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.4353,
"after": 7.0,
"delta": -0.4353,
"percent_delta": -0.0585,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8356,
"after": 1.0,
"delta": 0.1644,
"percent_delta": 0.1967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5033,
"after": 1.0,
"delta": -0.5033,
"percent_delta": -0.3348,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.275,
"after": 0.0,
"delta": -0.275,
"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.7674,
"after": 1.0,
"delta": 0.2326,
"percent_delta": 0.3031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4104,
"after": 2.0,
"delta": -0.4104,
"percent_delta": -0.1703,
"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_RBI",
"before": 0.7674,
"after": 1.0,
"delta": 0.2326,
"percent_delta": 0.3031,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5033,
"after": 1.0,
"delta": -0.5033,
"percent_delta": -0.3348,
"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.000)",
"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.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": 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.0132,
"after": 1.0,
"delta": -0.0132,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.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.2022,
"after": 0.143,
"delta": -0.0592,
"percent_delta": -0.2928,
"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.2828,
"after": 0.25,
"delta": -0.0328,
"percent_delta": -0.116,
"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.3423,
"after": 0.143,
"delta": -0.1993,
"percent_delta": -0.5822,
"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.3423,
"after": 0.143,
"delta": -0.1993,
"percent_delta": -0.5822,
"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": 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": 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": 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_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": 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.2022,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2828,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3423,
"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.143,
"after": 0.2022,
"delta": 0.0592,
"percent_delta": 0.4138,
"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.2828,
"delta": 0.0328,
"percent_delta": 0.1311,
"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.3423,
"delta": 0.1993,
"percent_delta": 1.3939,
"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.3423,
"delta": 0.1993,
"percent_delta": 1.3939,
"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.148,
"after": 0.0,
"delta": -0.148,
"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.488,
"after": 4.0,
"delta": 0.512,
"percent_delta": 0.1468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.236,
"after": 0.2022,
"delta": -0.0338,
"percent_delta": -0.1432,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.0,
"delta": -0.416,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"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.316,
"after": 0.2828,
"delta": -0.0332,
"percent_delta": -0.1051,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.469,
"after": 0.0,
"delta": -0.469,
"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.387,
"after": 0.3423,
"delta": -0.0447,
"percent_delta": -0.1155,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.115,
"after": 0.0,
"delta": -1.115,
"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_H",
"before": 0.8,
"after": 2.0,
"delta": 1.2,
"percent_delta": 1.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.115,
"after": 0.0,
"delta": -1.115,
"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.148 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.488 | - |
| predicted_AVG | 0.236 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.469 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.387 | - |
| predicted_SO | 1.115 | - |
Final model 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.280 | 0.132 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.435 | 3.947 |
| predicted_AVG | 0.218 | -0.018 |
| predicted_BB | 0.837 | 0.421 |
| predicted_H | 1.513 | 0.713 |
| predicted_HBP | 0.275 | - |
| predicted_HR | 0.258 | 0.128 |
| predicted_OBP | 0.302 | -0.014 |
| predicted_R | 1.023 | 0.554 |
| predicted_RBI | 0.775 | 0.435 |
| predicted_SLG | 0.363 | -0.024 |
| predicted_SO | 2.405 | 1.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.280 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.435 | 0.000 |
| predicted_AVG | 0.202 | -0.016 |
| predicted_BB | 0.836 | -0.002 |
| predicted_H | 1.503 | -0.010 |
| predicted_HBP | 0.275 | 0.000 |
| predicted_HR | 0.254 | -0.004 |
| predicted_OBP | 0.283 | -0.020 |
| predicted_R | 1.013 | -0.010 |
| predicted_RBI | 0.767 | -0.008 |
| predicted_SLG | 0.342 | -0.020 |
| predicted_SO | 2.410 | 0.005 |
AB rounded to 7 (raw=7.44), rates preserved: AVG=0.202 HR/AB=0.034
| 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=6.0, weight=0.067, BvP AVG=0.000)
| 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.280 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.435 |
| predicted_AVG | 0.143 | -0.059 |
| predicted_BB | 1.000 | 0.164 |
| predicted_H | 1.000 | -0.503 |
| predicted_HR | 0.000 | -0.254 |
| predicted_OBP | 0.250 | -0.033 |
| predicted_R | 1.000 | -0.013 |
| predicted_RBI | 1.000 | 0.233 |
| predicted_SLG | 0.143 | -0.199 |
| predicted_SO | 2.000 | -0.410 |
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 | 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 | 2 | - | 19.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.0526 | 0.1000 | 0.2105 | 0.0526 | 0.0526 | 0.0526 | 0.0526 | 0.4210 |
| last_10 | 0.20 | 3 | - | 36.000 | 6.000 | 0.000 | 0.000 | 4.000 | 4.000 | 10.000 | 4.000 | 10.000 | 0.1667 | 0.2857 | 0.5000 | 0.1667 | 0.1111 | 0.1111 | 0.1111 | 0.2778 |
| season | 0.60 | 55 | - | 729.000 | 155.000 | 31.000 | 0.000 | 19.000 | 82.000 | 98.000 | 87.000 | 233.000 | 0.2126 | 0.3083 | 0.3333 | 0.2126 | 0.0261 | 0.1125 | 0.1193 | 0.3196 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4470 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.4610 |
| predicted_AVG | 0.1943 |
| predicted_BB | 1.3740 |
| predicted_H | 2.4210 |
| predicted_HBP | 0.2750 |
| predicted_HR | 0.4200 |
| predicted_OBP | 0.2849 |
| predicted_R | 1.7290 |
| predicted_RBI | 1.3290 |
| predicted_SLG | 0.3316 |
| predicted_SO | 4.0480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1480 | 0.4470 | 0.2795 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4880 | 12.4610 | 7.4353 | model_form_blend |
| predicted_AVG | 0.2360 | 0.1943 | 0.2177 | model_form_blend |
| predicted_BB | 0.4160 | 1.3740 | 0.8374 | model_form_blend |
| predicted_H | 0.8000 | 2.4210 | 1.5131 | model_form_blend |
| predicted_HBP | - | 0.2750 | 0.2750 | form_only |
| predicted_HR | 0.1300 | 0.4200 | 0.2576 | model_form_blend |
| predicted_OBP | 0.3160 | 0.2849 | 0.3023 | model_form_blend |
| predicted_R | 0.4690 | 1.7290 | 1.0233 | model_form_blend |
| predicted_RBI | 0.3400 | 1.3290 | 0.7751 | model_form_blend |
| predicted_SLG | 0.3870 | 0.3316 | 0.3626 | model_form_blend |
| predicted_SO | 1.1150 | 4.0480 | 2.4053 | 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 | 210 |
| Season rows before report date | 210 |
| Report year | 2026 |
| Profile rows used | 209 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.213 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 701358 |
| playerID | 701358 |
| playerName | Cam Smith |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 27.2 |
| sl_bb_percent | 10.2 |
| sl_woba | 0.295 |
| sl_xwoba | 0.343 |
| sl_xba | 0.245 |
| sl_xslg | 0.449 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 13.8 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 88.1 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 31.4 |
| sl_swing_percent | 46.0 |
| at_bat_number | 59.0 |
| ab_pitcher | 641302.0 |
| ab_pitcher_name | Alexander, Tyler |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_3b_start | 666211.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Cam Smith grounds out, shortstop Nicky Lopez to first baseman Jake Burger. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 51.5 |
| ab_launch_angle_last | -51.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.31 |
| ab_estimated_woba_last | 0.285 |
| ab_estimated_slg_last | 0.313 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 86.55 |
| ab_release_spin_rate_avg | 2193.5 |
| ab_effective_speed_avg | 87.05 |
| ab_launch_speed_avg | 51.5 |
| ab_launch_angle_avg | -51.0 |
| ab_delta_run_exp_avg | -0.051 |
| ab_delta_home_win_exp_avg | 0.0033333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.051 |
| ab_bat_speed_avg | 78.44999999999999 |
| ab_swing_length_avg | 7.050000000000001 |
| ab_launch_speed_max | 51.5 |
| ab_hit_distance_sc_max | 2.0 |
| ab_release_speed_max | 91.5 |
| ab_release_spin_rate_max | 2523.0 |
| ab_release_speed_min | 78.9 |
| ab_release_spin_rate_min | 1487.0 |
| ab_delta_run_exp_sum | -0.306 |
| ab_delta_home_win_exp_sum | 0.0199999999999999 |
| ab_delta_pitcher_run_exp_sum | 0.306 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.132 | 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.515 | 4.000 | 6.000 | Hitting_AB | 3.319 | 2.000 | 0.681 | 2.000 |
| predicted_AVG | 0.243 | 0.000 | 0.167 | Hitting_AVG | 0.259 | 0.000 | -0.259 | 0.000 |
| predicted_BB | 0.029 | 0.000 | 0.000 | Hitting_BB | 0.028 | 0.000 | -0.028 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.260 | 0.000 | 1.000 | Hitting_H | 0.861 | 0.000 | -0.861 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.111 | 0.000 | -0.111 | 0.000 |
| predicted_OBP | 0.255 | 0.000 | 0.167 | Hitting_OBP | 0.262 | 0.000 | -0.262 | 0.000 |
| predicted_R | 0.294 | 1.000 | 0.000 | Hitting_R | 0.292 | 0.000 | 0.708 | 1.000 |
| predicted_RBI | 0.150 | 1.000 | 1.000 | Hitting_RBI | 0.375 | 1.000 | 0.625 | 0.000 |
| predicted_SLG | 0.377 | 0.000 | 0.167 | Hitting_SLG | 0.397 | 0.000 | -0.397 | 0.000 |
| predicted_SO | 0.647 | 1.000 | 1.000 | Hitting_SO | 0.611 | 0.000 | 0.389 | 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_RBI: 0.1500 -> 1.0000 (boost 0.8500, better) |
| Biggest Deboost | predicted_H: 0.2600 -> 0.0000 (deboost -0.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 | 8 | 7 | 1 | 6 | 2 | predicted_AB: 3.5150 -> 6.0763 (boost 2.5613, better) | predicted_SLG: 0.3770 -> 0.3684 (deboost -0.0086, 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.3684 -> 0.2831 (deboost -0.0853, 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.5943 -> 1.0000 (boost 0.4057, better) | predicted_2B: 0.2185 -> 0.0000 (deboost -0.2185, worse) | AB rounded to 6 (raw=6.08), rates preserved: AVG=0.182 HR/AB=0.022 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4595 -> 0.0000 (deboost -0.4595, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2831 -> 0.1670 (deboost -0.1161, 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_R: 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.2831 (boost 0.1161, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669699",
"player_name": "Braden Shewmake",
"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.132,
"predicted_3B": 0.0,
"predicted_AB": 3.515,
"predicted_AVG": 0.243,
"predicted_BB": 0.029,
"predicted_H": 0.26,
"predicted_HR": 0.04,
"predicted_OBP": 0.255,
"predicted_R": 0.294,
"predicted_RBI": 0.15,
"predicted_SLG": 0.377,
"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.2185,
"predicted_3B": 0.0017,
"predicted_AB": 6.0763,
"predicted_AVG": 0.2412,
"predicted_BB": 0.075,
"predicted_H": 1.1135,
"predicted_HBP": 0.01,
"predicted_HR": 0.1328,
"predicted_OBP": 0.2519,
"predicted_R": 0.4641,
"predicted_RBI": 0.6002,
"predicted_SLG": 0.3684,
"predicted_SO": 0.9956
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.2185,
"delta": 0.0865,
"percent_delta": 0.6553,
"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.515,
"after": 6.0763,
"delta": 2.5613,
"percent_delta": 0.7287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2412,
"delta": -0.0018,
"percent_delta": -0.0074,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.029,
"after": 0.075,
"delta": 0.046,
"percent_delta": 1.5862,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 1.1135,
"delta": 0.8535,
"percent_delta": 3.2827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.1328,
"delta": 0.0928,
"percent_delta": 2.32,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.255,
"after": 0.2519,
"delta": -0.0031,
"percent_delta": -0.0122,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.294,
"after": 0.4641,
"delta": 0.1701,
"percent_delta": 0.5786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.6002,
"delta": 0.4502,
"percent_delta": 3.0013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3684,
"delta": -0.0086,
"percent_delta": -0.0228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 0.9956,
"delta": 0.3486,
"percent_delta": 0.5388,
"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.515,
"after": 6.0763,
"delta": 2.5613,
"percent_delta": 0.7287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.3684,
"delta": -0.0086,
"percent_delta": -0.0228,
"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": 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.2185,
"predicted_3B": 0.0017,
"predicted_AB": 6.0763,
"predicted_AVG": 0.1821,
"predicted_BB": 0.0748,
"predicted_H": 1.1063,
"predicted_HBP": 0.01,
"predicted_HR": 0.1307,
"predicted_OBP": 0.192,
"predicted_R": 0.4595,
"predicted_RBI": 0.5943,
"predicted_SLG": 0.2831,
"predicted_SO": 0.9977
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2185,
"after": 0.2185,
"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": 6.0763,
"after": 6.0763,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2412,
"after": 0.1821,
"delta": -0.0591,
"percent_delta": -0.245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.075,
"after": 0.0748,
"delta": -0.0002,
"percent_delta": -0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1135,
"after": 1.1063,
"delta": -0.0072,
"percent_delta": -0.0065,
"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.1328,
"after": 0.1307,
"delta": -0.0021,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2519,
"after": 0.192,
"delta": -0.0599,
"percent_delta": -0.2378,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4641,
"after": 0.4595,
"delta": -0.0046,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6002,
"after": 0.5943,
"delta": -0.0059,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3684,
"after": 0.2831,
"delta": -0.0853,
"percent_delta": -0.2315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9956,
"after": 0.9977,
"delta": 0.0021,
"percent_delta": 0.0021,
"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.3684,
"after": 0.2831,
"delta": -0.0853,
"percent_delta": -0.2315,
"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.182 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": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2185,
"after": 0.0,
"delta": -0.2185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 6.0763,
"after": 6.0,
"delta": -0.0763,
"percent_delta": -0.0126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0748,
"after": 0.0,
"delta": -0.0748,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1063,
"after": 1.0,
"delta": -0.1063,
"percent_delta": -0.0961,
"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.1307,
"after": 0.0,
"delta": -0.1307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5943,
"after": 1.0,
"delta": 0.4057,
"percent_delta": 0.6827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9977,
"after": 1.0,
"delta": 0.0023,
"percent_delta": 0.0023,
"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.5943,
"after": 1.0,
"delta": 0.4057,
"percent_delta": 0.6827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2185,
"after": 0.0,
"delta": -0.2185,
"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": 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.4595,
"after": 0.0,
"delta": -0.4595,
"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.4595,
"after": 0.0,
"delta": -0.4595,
"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.1821,
"after": 0.167,
"delta": -0.0151,
"percent_delta": -0.0829,
"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.192,
"after": 0.167,
"delta": -0.025,
"percent_delta": -0.1302,
"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.2831,
"after": 0.167,
"delta": -0.1161,
"percent_delta": -0.4101,
"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.2831,
"after": 0.167,
"delta": -0.1161,
"percent_delta": -0.4101,
"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": 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": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.1821,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.192,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2831,
"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.1821,
"delta": 0.0151,
"percent_delta": 0.0902,
"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.192,
"delta": 0.025,
"percent_delta": 0.1498,
"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.2831,
"delta": 0.1161,
"percent_delta": 0.6954,
"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.2831,
"delta": 0.1161,
"percent_delta": 0.6954,
"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.515,
"after": 4.0,
"delta": 0.485,
"percent_delta": 0.138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.1821,
"delta": -0.0609,
"percent_delta": -0.2506,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.029,
"after": 0.0,
"delta": -0.029,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"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.192,
"delta": -0.063,
"percent_delta": -0.2471,
"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.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.377,
"after": 0.2831,
"delta": -0.0939,
"percent_delta": -0.2491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.647,
"after": 1.0,
"delta": 0.353,
"percent_delta": 0.5456,
"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_RBI",
"before": 0.15,
"after": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"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.000 | - |
| predicted_AB | 3.515 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.029 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.255 | - |
| predicted_R | 0.294 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.377 | - |
| 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.218 | 0.086 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 6.076 | 2.561 |
| predicted_AVG | 0.241 | -0.002 |
| predicted_BB | 0.075 | 0.046 |
| predicted_H | 1.113 | 0.853 |
| predicted_HBP | 0.010 | - |
| predicted_HR | 0.133 | 0.093 |
| predicted_OBP | 0.252 | -0.003 |
| predicted_R | 0.464 | 0.170 |
| predicted_RBI | 0.600 | 0.450 |
| predicted_SLG | 0.368 | -0.009 |
| predicted_SO | 0.996 | 0.349 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.218 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 6.076 | 0.000 |
| predicted_AVG | 0.182 | -0.059 |
| predicted_BB | 0.075 | -0.000 |
| predicted_H | 1.106 | -0.007 |
| predicted_HBP | 0.010 | 0.000 |
| predicted_HR | 0.131 | -0.002 |
| predicted_OBP | 0.192 | -0.060 |
| predicted_R | 0.460 | -0.005 |
| predicted_RBI | 0.594 | -0.006 |
| predicted_SLG | 0.283 | -0.085 |
| predicted_SO | 0.998 | 0.002 |
AB rounded to 6 (raw=6.08), rates preserved: AVG=0.182 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 | 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.218 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 6.000 | -0.076 |
| predicted_AVG | 0.167 | -0.015 |
| predicted_BB | 0.000 | -0.075 |
| predicted_H | 1.000 | -0.106 |
| predicted_HR | 0.000 | -0.131 |
| predicted_OBP | 0.167 | -0.025 |
| predicted_R | 0.000 | -0.460 |
| predicted_RBI | 1.000 | 0.406 |
| predicted_SLG | 0.167 | -0.116 |
| predicted_SO | 1.000 | 0.002 |
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 | 1.000 | 1.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 12.000 | 2.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.1667 | 0.1667 | 0.1667 | 0.1667 | 0.0000 | 0.2500 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 28.000 | 4.000 | 1.000 | 0.000 | 0.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.1429 | 0.1429 | 0.1786 | 0.1429 | 0.0000 | 0.1071 | 0.0000 | 0.0000 |
| season | 0.60 | 21 | - | 239.000 | 62.000 | 9.000 | 0.000 | 8.000 | 27.000 | 20.000 | 2.000 | 44.000 | 0.2594 | 0.2623 | 0.3975 | 0.2594 | 0.0335 | 0.1130 | 0.0084 | 0.1841 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3390 |
| predicted_3B | 0.0040 |
| predicted_AB | 9.6430 |
| predicted_AVG | 0.2388 |
| predicted_BB | 0.1390 |
| predicted_H | 2.3020 |
| predicted_HBP | 0.0100 |
| predicted_HR | 0.2620 |
| predicted_OBP | 0.2477 |
| predicted_R | 0.7010 |
| predicted_RBI | 1.2270 |
| predicted_SLG | 0.3564 |
| predicted_SO | 1.4810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.3390 | 0.2185 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 3.5150 | 9.6430 | 6.0763 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2388 | 0.2412 | model_form_blend |
| predicted_BB | 0.0290 | 0.1390 | 0.0750 | model_form_blend |
| predicted_H | 0.2600 | 2.3020 | 1.1135 | model_form_blend |
| predicted_HBP | - | 0.0100 | 0.0100 | form_only |
| predicted_HR | 0.0400 | 0.2620 | 0.1328 | model_form_blend |
| predicted_OBP | 0.2550 | 0.2477 | 0.2519 | model_form_blend |
| predicted_R | 0.2940 | 0.7010 | 0.4641 | model_form_blend |
| predicted_RBI | 0.1500 | 1.2270 | 0.6002 | model_form_blend |
| predicted_SLG | 0.3770 | 0.3564 | 0.3684 | model_form_blend |
| predicted_SO | 0.6470 | 1.4810 | 0.9956 | 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 | 72 |
| Season rows before report date | 72 |
| Report year | 2026 |
| Profile rows used | 68 |
| 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 | 1 |
| RBI | 1 |
| 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 | 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 | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 1 |
| 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 | 3B |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 669699 |
| playerID | 669699 |
| playerName | Braden Shewmake |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 16.4 |
| sl_bb_percent | 1.5 |
| sl_woba | 0.332 |
| sl_xwoba | 0.276 |
| sl_xba | 0.247 |
| sl_xslg | 0.38 |
| sl_sweet_spot_percent | 27.3 |
| sl_barrel_batted_rate | 5.6 |
| sl_hard_hit_percent | 32.7 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 13.0 |
| sl_whiff_percent | 21.9 |
| sl_swing_percent | 64.6 |
| at_bat_number | 47.0 |
| ab_pitcher | 455119.0 |
| ab_pitcher_name | Martin, Chris |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.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 | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Braden Shewmake grounds out, second baseman Justin Foscue to first baseman Jake Burger. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 97.7 |
| ab_launch_angle_last | 3.0 |
| ab_hit_distance_last | 60.0 |
| ab_estimated_ba_last | 0.469 |
| ab_estimated_woba_last | 0.422 |
| ab_estimated_slg_last | 0.5 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 91.1 |
| ab_release_spin_rate_avg | 2251.5 |
| ab_effective_speed_avg | 91.7 |
| ab_launch_speed_avg | 85.35 |
| ab_launch_angle_avg | 13.5 |
| ab_delta_run_exp_avg | -0.128 |
| ab_delta_home_win_exp_avg | 0.0195 |
| ab_delta_pitcher_run_exp_avg | 0.128 |
| ab_bat_speed_avg | 73.35 |
| ab_swing_length_avg | 7.35 |
| ab_launch_speed_max | 97.7 |
| ab_hit_distance_sc_max | 202.0 |
| ab_release_speed_max | 91.1 |
| ab_release_spin_rate_max | 2273.0 |
| ab_release_speed_min | 91.1 |
| ab_release_spin_rate_min | 2230.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.039 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.101 | 0.000 | 0.000 | Hitting_2B | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_3B | 0.027 | 0.000 | 0.000 | Hitting_3B | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_AB | 3.537 | 3.000 | 7.000 | Hitting_AB | 3.467 | 3.000 | -0.467 | 0.000 |
| predicted_AVG | 0.242 | 0.333 | 0.286 | Hitting_AVG | 0.213 | 0.333 | 0.121 | 0.000 |
| predicted_BB | 0.268 | 1.000 | 1.000 | Hitting_BB | 0.270 | 1.000 | 0.730 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.079 | 1.000 | -0.079 | -1.000 |
| predicted_H | 0.660 | 1.000 | 2.000 | Hitting_H | 0.737 | 1.000 | 0.263 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.289 | 0.500 | 0.375 | Hitting_OBP | 0.267 | 0.500 | 0.233 | 0.000 |
| predicted_R | 0.409 | 0.000 | 1.000 | Hitting_R | 0.401 | 0.000 | -0.401 | 0.000 |
| predicted_RBI | 0.280 | 0.000 | 1.000 | Hitting_RBI | 0.336 | 0.000 | -0.336 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_SLG | 0.338 | 0.333 | 0.286 | Hitting_SLG | 0.347 | 0.333 | -0.014 | 0.000 |
| predicted_SO | 1.087 | 0.000 | 2.000 | Hitting_SO | 1.066 | 0.000 | -1.066 | 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.2680 -> 1.0000 (boost 0.7320, better) |
| Biggest Deboost | predicted_SO: 1.0870 -> 0.0000 (deboost -1.0870, 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.5370 -> 6.8659 (boost 3.3289, 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.2389 -> 0.2193 (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 | 5 | 2 | 4 | 3 | predicted_H: 1.5057 -> 2.0000 (boost 0.4943, better) | predicted_2B: 0.1785 -> 0.0000 (deboost -0.1785, worse) | AB rounded to 7 (raw=6.87), rates preserved: AVG=0.219 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7714 -> 1.0000 (boost 0.2286, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2921 -> 0.3750 (boost 0.0829, better) | predicted_SLG: 0.3319 -> 0.2860 (deboost -0.0459, 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.3319 (boost 0.0459, better) | predicted_OBP: 0.3750 -> 0.2921 (deboost -0.0829, worse) | 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.101,
"predicted_3B": 0.027,
"predicted_AB": 3.537,
"predicted_AVG": 0.242,
"predicted_BB": 0.268,
"predicted_H": 0.66,
"predicted_HR": 0.08,
"predicted_OBP": 0.289,
"predicted_R": 0.409,
"predicted_RBI": 0.28,
"predicted_SLG": 0.338,
"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.1785,
"predicted_3B": 0.0453,
"predicted_AB": 6.8659,
"predicted_AVG": 0.2389,
"predicted_BB": 0.7074,
"predicted_H": 1.5156,
"predicted_HBP": 0.005,
"predicted_HR": 0.1706,
"predicted_OBP": 0.2961,
"predicted_R": 0.7791,
"predicted_RBI": 0.563,
"predicted_SLG": 0.3429,
"predicted_SO": 1.9235
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.101,
"after": 0.1785,
"delta": 0.0775,
"percent_delta": 0.7673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.027,
"after": 0.0453,
"delta": 0.0183,
"percent_delta": 0.6778,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.537,
"after": 6.8659,
"delta": 3.3289,
"percent_delta": 0.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2389,
"delta": -0.0031,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 0.7074,
"delta": 0.4394,
"percent_delta": 1.6396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.5156,
"delta": 0.8556,
"percent_delta": 1.2964,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1706,
"delta": 0.0906,
"percent_delta": 1.1325,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2961,
"delta": 0.0071,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.7791,
"delta": 0.3701,
"percent_delta": 0.9049,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.563,
"delta": 0.283,
"percent_delta": 1.0107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.338,
"after": 0.3429,
"delta": 0.0049,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 1.9235,
"delta": 0.8365,
"percent_delta": 0.7695,
"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.537,
"after": 6.8659,
"delta": 3.3289,
"percent_delta": 0.9412,
"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": 3,
"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.1785,
"predicted_3B": 0.0453,
"predicted_AB": 6.8659,
"predicted_AVG": 0.2193,
"predicted_BB": 0.7059,
"predicted_H": 1.5057,
"predicted_HBP": 0.005,
"predicted_HR": 0.1679,
"predicted_OBP": 0.2921,
"predicted_R": 0.7714,
"predicted_RBI": 0.5574,
"predicted_SLG": 0.3319,
"predicted_SO": 1.9275
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1785,
"after": 0.1785,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0453,
"after": 0.0453,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8659,
"after": 6.8659,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2389,
"after": 0.2193,
"delta": -0.0196,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7074,
"after": 0.7059,
"delta": -0.0015,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5156,
"after": 1.5057,
"delta": -0.0099,
"percent_delta": -0.0065,
"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.1706,
"after": 0.1679,
"delta": -0.0027,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2961,
"after": 0.2921,
"delta": -0.004,
"percent_delta": -0.0135,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7791,
"after": 0.7714,
"delta": -0.0077,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.563,
"after": 0.5574,
"delta": -0.0056,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3429,
"after": 0.3319,
"delta": -0.011,
"percent_delta": -0.0321,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9235,
"after": 1.9275,
"delta": 0.004,
"percent_delta": 0.0021,
"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.2389,
"after": 0.2193,
"delta": -0.0196,
"percent_delta": -0.082,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.87), rates preserved: AVG=0.219 HR/AB=0.024",
"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.1785,
"after": 0.0,
"delta": -0.1785,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0453,
"after": 0.0,
"delta": -0.0453,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.8659,
"after": 7.0,
"delta": 0.1341,
"percent_delta": 0.0195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7059,
"after": 1.0,
"delta": 0.2941,
"percent_delta": 0.4166,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5057,
"after": 2.0,
"delta": 0.4943,
"percent_delta": 0.3283,
"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.1679,
"after": 0.0,
"delta": -0.1679,
"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.9275,
"after": 2.0,
"delta": 0.0725,
"percent_delta": 0.0376,
"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_H",
"before": 1.5057,
"after": 2.0,
"delta": 0.4943,
"percent_delta": 0.3283,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.1785,
"after": 0.0,
"delta": -0.1785,
"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.7714,
"after": 1.0,
"delta": 0.2286,
"percent_delta": 0.2963,
"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.7714,
"after": 1.0,
"delta": 0.2286,
"percent_delta": 0.2963,
"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.2193,
"after": 0.286,
"delta": 0.0667,
"percent_delta": 0.3041,
"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.2921,
"after": 0.375,
"delta": 0.0829,
"percent_delta": 0.2838,
"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.3319,
"after": 0.286,
"delta": -0.0459,
"percent_delta": -0.1383,
"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.2921,
"after": 0.375,
"delta": 0.0829,
"percent_delta": 0.2838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3319,
"after": 0.286,
"delta": -0.0459,
"percent_delta": -0.1383,
"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": 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": 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.2193,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2921,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3319,
"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.2193,
"delta": -0.0667,
"percent_delta": -0.2332,
"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.2921,
"delta": -0.0829,
"percent_delta": -0.2211,
"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.3319,
"delta": 0.0459,
"percent_delta": 0.1604,
"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.3319,
"delta": 0.0459,
"percent_delta": 0.1604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.2921,
"delta": -0.0829,
"percent_delta": -0.2211,
"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.101,
"after": 0.0,
"delta": -0.101,
"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": 3.537,
"after": 3.0,
"delta": -0.537,
"percent_delta": -0.1518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2193,
"delta": -0.0227,
"percent_delta": -0.0938,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.268,
"after": 1.0,
"delta": 0.732,
"percent_delta": 2.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"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.289,
"after": 0.2921,
"delta": 0.0031,
"percent_delta": 0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.409,
"after": 0.0,
"delta": -0.409,
"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.338,
"after": 0.3319,
"delta": -0.0061,
"percent_delta": -0.018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.087,
"after": 0.0,
"delta": -1.087,
"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.268,
"after": 1.0,
"delta": 0.732,
"percent_delta": 2.7313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.087,
"after": 0.0,
"delta": -1.087,
"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.101 | - |
| predicted_3B | 0.027 | - |
| predicted_AB | 3.537 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.268 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.409 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.338 | - |
| 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.178 | 0.077 |
| predicted_3B | 0.045 | 0.018 |
| predicted_AB | 6.866 | 3.329 |
| predicted_AVG | 0.239 | -0.003 |
| predicted_BB | 0.707 | 0.439 |
| predicted_H | 1.516 | 0.856 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.171 | 0.091 |
| predicted_OBP | 0.296 | 0.007 |
| predicted_R | 0.779 | 0.370 |
| predicted_RBI | 0.563 | 0.283 |
| predicted_SLG | 0.343 | 0.005 |
| predicted_SO | 1.923 | 0.837 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.178 | 0.000 |
| predicted_3B | 0.045 | 0.000 |
| predicted_AB | 6.866 | 0.000 |
| predicted_AVG | 0.219 | -0.020 |
| predicted_BB | 0.706 | -0.002 |
| predicted_H | 1.506 | -0.010 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.168 | -0.003 |
| predicted_OBP | 0.292 | -0.004 |
| predicted_R | 0.771 | -0.008 |
| predicted_RBI | 0.557 | -0.006 |
| predicted_SLG | 0.332 | -0.011 |
| predicted_SO | 1.927 | 0.004 |
AB rounded to 7 (raw=6.87), rates preserved: AVG=0.219 HR/AB=0.024
| 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.178 |
| predicted_3B | 0.000 | -0.045 |
| predicted_AB | 7.000 | 0.134 |
| predicted_AVG | 0.286 | 0.067 |
| predicted_BB | 1.000 | 0.294 |
| predicted_H | 2.000 | 0.494 |
| predicted_HR | 0.000 | -0.168 |
| predicted_OBP | 0.375 | 0.083 |
| predicted_R | 1.000 | 0.229 |
| predicted_RBI | 1.000 | 0.443 |
| predicted_SLG | 0.286 | -0.046 |
| predicted_SO | 2.000 | 0.073 |
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 | 2 | - | 15.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 1.000 | 0.3333 | 0.5000 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.3333 | 0.0667 |
| last_10 | 0.20 | 3 | - | 28.000 | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 8.000 | 4.000 | 0.3571 | 0.5000 | 0.3571 | 0.3571 | 0.0000 | 0.0000 | 0.2857 | 0.1429 |
| season | 0.60 | 43 | - | 527.000 | 112.000 | 15.000 | 4.000 | 16.000 | 51.000 | 61.000 | 40.000 | 162.000 | 0.2125 | 0.2657 | 0.3472 | 0.2125 | 0.0304 | 0.0968 | 0.0759 | 0.3074 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2790 |
| predicted_3B | 0.0690 |
| predicted_AB | 11.1820 |
| predicted_AVG | 0.2348 |
| predicted_BB | 1.2770 |
| predicted_H | 2.6250 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.2880 |
| predicted_OBP | 0.3052 |
| predicted_R | 1.2590 |
| predicted_RBI | 0.9300 |
| predicted_SLG | 0.3493 |
| predicted_SO | 3.0080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1010 | 0.2790 | 0.1785 | model_form_blend |
| predicted_3B | 0.0270 | 0.0690 | 0.0453 | model_form_blend |
| predicted_AB | 3.5370 | 11.1820 | 6.8659 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2348 | 0.2389 | model_form_blend |
| predicted_BB | 0.2680 | 1.2770 | 0.7074 | model_form_blend |
| predicted_H | 0.6600 | 2.6250 | 1.5156 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0800 | 0.2880 | 0.1706 | model_form_blend |
| predicted_OBP | 0.2890 | 0.3052 | 0.2961 | model_form_blend |
| predicted_R | 0.4090 | 1.2590 | 0.7791 | model_form_blend |
| predicted_RBI | 0.2800 | 0.9300 | 0.5630 | model_form_blend |
| predicted_SLG | 0.3380 | 0.3493 | 0.3429 | model_form_blend |
| predicted_SO | 1.0870 | 3.0080 | 1.9235 | 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 | 152 |
| Season rows before report date | 152 |
| Report year | 2026 |
| Profile rows used | 149 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.213 |
| 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 | 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 | 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 694728 |
| playerID | 694728 |
| playerName | Brice Matthews |
| pos | CF |
| started | True |
| startingPosition | 2B |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.268 |
| sl_xwoba | 0.268 |
| sl_xba | 0.196 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 32.2 |
| sl_barrel_batted_rate | 7.8 |
| sl_hard_hit_percent | 38.9 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 10.8 |
| sl_whiff_percent | 37.3 |
| sl_swing_percent | 45.5 |
| at_bat_number | 67.0 |
| ab_pitcher | 686560.0 |
| ab_pitcher_name | Collyer, Gavin |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| 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 | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | walk |
| ab_event_description | Brice Matthews walks. |
| ab_event_type | B |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 14.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 94.83333333333331 |
| ab_release_spin_rate_avg | 2440.6666666666665 |
| ab_effective_speed_avg | 94.6 |
| ab_delta_run_exp_avg | 0.0748333333333333 |
| ab_delta_home_win_exp_avg | -0.004 |
| ab_delta_pitcher_run_exp_avg | -0.0748333333333333 |
| ab_bat_speed_avg | 71.6 |
| ab_swing_length_avg | 6.2 |
| ab_release_speed_max | 97.7 |
| ab_release_spin_rate_max | 2531.0 |
| ab_release_speed_min | 89.9 |
| ab_release_spin_rate_min | 2343.0 |
| ab_delta_run_exp_sum | 0.4489999999999999 |
| ab_delta_home_win_exp_sum | -0.024 |
| ab_delta_pitcher_run_exp_sum | -0.4489999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.279 | 0.000 | 0.000 | Hitting_2B | 0.279 | 1.000 | -0.279 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.814 | 4.000 | 4.000 | Hitting_AB | 2.814 | 1.000 | 1.186 | 3.000 |
| predicted_AVG | 0.262 | 0.000 | 0.250 | Hitting_AVG | 0.223 | 1.000 | -0.223 | -1.000 |
| predicted_BB | 0.326 | 0.000 | 1.000 | Hitting_BB | 0.326 | 0.000 | -0.326 | 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.628 | 1.000 | -0.628 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.070 | 0.000 | -0.070 | 0.000 |
| predicted_OBP | 0.311 | 0.000 | 0.400 | Hitting_OBP | 0.304 | 1.000 | -0.304 | -1.000 |
| predicted_R | 0.326 | 0.000 | 1.000 | Hitting_R | 0.326 | 0.000 | -0.326 | 0.000 |
| predicted_RBI | 0.260 | 0.000 | 0.000 | Hitting_RBI | 0.140 | 0.000 | -0.140 | 0.000 |
| predicted_SLG | 0.383 | 0.000 | 0.250 | Hitting_SLG | 0.397 | 2.000 | -0.397 | -2.000 |
| predicted_SO | 1.116 | 2.000 | 2.000 | Hitting_SO | 1.116 | 0.000 | 0.884 | 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_AB: 2.8140 -> 4.0000 (boost 1.1860, better) |
| Biggest Deboost | predicted_H: 0.6200 -> 0.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 8 | 6 | 2 | 5 | 3 | predicted_AB: 2.8140 -> 3.9207 (boost 1.1067, better) | predicted_AVG: 0.2620 -> 0.2399 (deboost -0.0221, 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.2399 -> 0.2110 (deboost -0.0289, 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.5704 -> 1.0000 (boost 0.4296, better) | predicted_2B: 0.3719 -> 0.0000 (deboost -0.3719, worse) | AB rounded to 4 (raw=3.92), rates preserved: AVG=0.211 HR/AB=0.024 |
| 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.5990 -> 1.0000 (boost 0.4010, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3112 -> 0.4000 (boost 0.0888, better) | predicted_SLG: 0.3774 -> 0.2500 (deboost -0.1274, 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_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.3774 (boost 0.1274, better) | predicted_OBP: 0.4000 -> 0.3112 (deboost -0.0888, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "701305",
"player_name": "Zach Dezenzo",
"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.279,
"predicted_3B": 0.0,
"predicted_AB": 2.814,
"predicted_AVG": 0.262,
"predicted_BB": 0.326,
"predicted_H": 0.62,
"predicted_HR": 0.08,
"predicted_OBP": 0.311,
"predicted_R": 0.326,
"predicted_RBI": 0.26,
"predicted_SLG": 0.383,
"predicted_SO": 1.116
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3719,
"predicted_3B": 0.0016,
"predicted_AB": 3.9207,
"predicted_AVG": 0.2399,
"predicted_BB": 0.5716,
"predicted_H": 0.8327,
"predicted_HBP": 0.009,
"predicted_HR": 0.0939,
"predicted_OBP": 0.3145,
"predicted_R": 0.605,
"predicted_RBI": 0.2743,
"predicted_SLG": 0.3743,
"predicted_SO": 1.7037
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.279,
"after": 0.3719,
"delta": 0.0929,
"percent_delta": 0.333,
"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": 2.814,
"after": 3.9207,
"delta": 1.1067,
"percent_delta": 0.3933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2399,
"delta": -0.0221,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.5716,
"delta": 0.2456,
"percent_delta": 0.7534,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.8327,
"delta": 0.2127,
"percent_delta": 0.3431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.0939,
"delta": 0.0139,
"percent_delta": 0.1737,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3145,
"delta": 0.0035,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.605,
"delta": 0.279,
"percent_delta": 0.8558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.2743,
"delta": 0.0143,
"percent_delta": 0.055,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3743,
"delta": -0.0087,
"percent_delta": -0.0227,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.116,
"after": 1.7037,
"delta": 0.5877,
"percent_delta": 0.5266,
"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.814,
"after": 3.9207,
"delta": 1.1067,
"percent_delta": 0.3933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.2399,
"delta": -0.0221,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {
"xgboost_raw": 0.55,
"weighted_form": 0.45,
"form_windows": {
"last_5": 0.2,
"last_10": 0.2,
"season": 0.6
}
},
"window_games": {
"last_5": 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.3719,
"predicted_3B": 0.0016,
"predicted_AB": 3.9207,
"predicted_AVG": 0.211,
"predicted_BB": 0.5704,
"predicted_H": 0.8273,
"predicted_HBP": 0.009,
"predicted_HR": 0.0924,
"predicted_OBP": 0.3112,
"predicted_R": 0.599,
"predicted_RBI": 0.2716,
"predicted_SLG": 0.3774,
"predicted_SO": 1.7073
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3719,
"after": 0.3719,
"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": 3.9207,
"after": 3.9207,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2399,
"after": 0.211,
"delta": -0.0289,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5716,
"after": 0.5704,
"delta": -0.0012,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8327,
"after": 0.8273,
"delta": -0.0054,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0939,
"after": 0.0924,
"delta": -0.0015,
"percent_delta": -0.016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3145,
"after": 0.3112,
"delta": -0.0033,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.605,
"after": 0.599,
"delta": -0.006,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2743,
"after": 0.2716,
"delta": -0.0027,
"percent_delta": -0.0098,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3743,
"after": 0.3774,
"delta": 0.0031,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.7037,
"after": 1.7073,
"delta": 0.0036,
"percent_delta": 0.0021,
"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.2399,
"after": 0.211,
"delta": -0.0289,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=3.92), rates preserved: AVG=0.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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"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": 3.9207,
"after": 4.0,
"delta": 0.0793,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5704,
"after": 1.0,
"delta": 0.4296,
"percent_delta": 0.7532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8273,
"after": 1.0,
"delta": 0.1727,
"percent_delta": 0.2088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.009,
"after": 0.0,
"delta": -0.009,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0924,
"after": 0.0,
"delta": -0.0924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2716,
"after": 0.0,
"delta": -0.2716,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7073,
"after": 2.0,
"delta": 0.2927,
"percent_delta": 0.1714,
"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.5704,
"after": 1.0,
"delta": 0.4296,
"percent_delta": 0.7532,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3719,
"after": 0.0,
"delta": -0.3719,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 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": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 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": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.599,
"after": 1.0,
"delta": 0.401,
"percent_delta": 0.6694,
"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.599,
"after": 1.0,
"delta": 0.401,
"percent_delta": 0.6694,
"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": 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.211,
"after": 0.25,
"delta": 0.039,
"percent_delta": 0.1848,
"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.3112,
"after": 0.4,
"delta": 0.0888,
"percent_delta": 0.2853,
"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.3774,
"after": 0.25,
"delta": -0.1274,
"percent_delta": -0.3376,
"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.3112,
"after": 0.4,
"delta": 0.0888,
"percent_delta": 0.2853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3774,
"after": 0.25,
"delta": -0.1274,
"percent_delta": -0.3376,
"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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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_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.211,
"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.3112,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3774,
"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.211,
"delta": -0.039,
"percent_delta": -0.156,
"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.3112,
"delta": -0.0888,
"percent_delta": -0.222,
"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.3774,
"delta": 0.1274,
"percent_delta": 0.5096,
"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.25,
"after": 0.3774,
"delta": 0.1274,
"percent_delta": 0.5096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.4,
"after": 0.3112,
"delta": -0.0888,
"percent_delta": -0.222,
"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.279,
"after": 0.0,
"delta": -0.279,
"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.814,
"after": 4.0,
"delta": 1.186,
"percent_delta": 0.4215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.262,
"after": 0.211,
"delta": -0.051,
"percent_delta": -0.1947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3112,
"delta": 0.0002,
"percent_delta": 0.0006,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.326,
"after": 0.0,
"delta": -0.326,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.26,
"after": 0.0,
"delta": -0.26,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.383,
"after": 0.3774,
"delta": -0.0056,
"percent_delta": -0.0146,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.116,
"after": 2.0,
"delta": 0.884,
"percent_delta": 0.7921,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 2,
"deboosted_metrics": 8,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_AB",
"before": 2.814,
"after": 4.0,
"delta": 1.186,
"percent_delta": 0.4215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"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.279 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.814 | - |
| predicted_AVG | 0.262 | - |
| predicted_BB | 0.326 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.326 | - |
| predicted_RBI | 0.260 | - |
| predicted_SLG | 0.383 | - |
| predicted_SO | 1.116 | - |
Final model 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.372 | 0.093 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 3.921 | 1.107 |
| predicted_AVG | 0.240 | -0.022 |
| predicted_BB | 0.572 | 0.246 |
| predicted_H | 0.833 | 0.213 |
| predicted_HBP | 0.009 | - |
| predicted_HR | 0.094 | 0.014 |
| predicted_OBP | 0.315 | 0.004 |
| predicted_R | 0.605 | 0.279 |
| predicted_RBI | 0.274 | 0.014 |
| predicted_SLG | 0.374 | -0.009 |
| predicted_SO | 1.704 | 0.588 |
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.372 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 3.921 | 0.000 |
| predicted_AVG | 0.211 | -0.029 |
| predicted_BB | 0.570 | -0.001 |
| predicted_H | 0.827 | -0.005 |
| predicted_HBP | 0.009 | 0.000 |
| predicted_HR | 0.092 | -0.002 |
| predicted_OBP | 0.311 | -0.003 |
| predicted_R | 0.599 | -0.006 |
| predicted_RBI | 0.272 | -0.003 |
| predicted_SLG | 0.377 | 0.003 |
| predicted_SO | 1.707 | 0.004 |
AB rounded to 4 (raw=3.92), 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 | 0.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 | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 1.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SO | 2.000 | 0.000 |
Enforced H<=AB, HR<=H, safety nets, derived R
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 1.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| R | 1.000 | - |
| RBI | 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.372 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | 0.079 |
| predicted_AVG | 0.250 | 0.039 |
| predicted_BB | 1.000 | 0.430 |
| predicted_H | 1.000 | 0.173 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.400 | 0.089 |
| predicted_R | 1.000 | 0.401 |
| predicted_RBI | 0.000 | -0.272 |
| predicted_SLG | 0.250 | -0.127 |
| predicted_SO | 2.000 | 0.293 |
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 | 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 | - | 9.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 8.000 | 0.1111 | 0.3846 | 0.2222 | 0.1111 | 0.0000 | 0.0000 | 0.4444 | 0.8889 |
| last_10 | 0.20 | 6 | - | 20.000 | 3.000 | 2.000 | 0.000 | 0.000 | 0.000 | 7.000 | 6.000 | 15.000 | 0.1500 | 0.3462 | 0.2500 | 0.1500 | 0.0000 | 0.0000 | 0.3000 | 0.7500 |
| season | 0.60 | 17 | - | 121.000 | 27.000 | 12.000 | 0.000 | 3.000 | 6.000 | 14.000 | 14.000 | 48.000 | 0.2231 | 0.3037 | 0.3967 | 0.2231 | 0.0248 | 0.0496 | 0.1157 | 0.3967 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5130 |
| predicted_3B | 0.0040 |
| predicted_AB | 5.6030 |
| predicted_AVG | 0.2063 |
| predicted_BB | 0.9450 |
| predicted_H | 1.1560 |
| predicted_HBP | 0.0090 |
| predicted_HR | 0.1150 |
| predicted_OBP | 0.3199 |
| predicted_R | 1.0290 |
| predicted_RBI | 0.2960 |
| predicted_SLG | 0.3611 |
| predicted_SO | 2.5970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2790 | 0.5130 | 0.3719 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0016 | model_form_blend |
| predicted_AB | 2.8140 | 5.6030 | 3.9207 | model_form_blend |
| predicted_AVG | 0.2620 | 0.2063 | 0.2399 | model_form_blend |
| predicted_BB | 0.3260 | 0.9450 | 0.5716 | model_form_blend |
| predicted_H | 0.6200 | 1.1560 | 0.8327 | model_form_blend |
| predicted_HBP | - | 0.0090 | 0.0090 | form_only |
| predicted_HR | 0.0800 | 0.1150 | 0.0939 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3199 | 0.3145 | model_form_blend |
| predicted_R | 0.3260 | 1.0290 | 0.6050 | model_form_blend |
| predicted_RBI | 0.2600 | 0.2960 | 0.2743 | model_form_blend |
| predicted_SLG | 0.3830 | 0.3611 | 0.3743 | model_form_blend |
| predicted_SO | 1.1160 | 2.5970 | 1.7037 | 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 | 43 |
| Season rows before report date | 43 |
| Report year | 2026 |
| Profile rows used | 43 |
| 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.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 | 1 |
| 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 | 2 |
| 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 | 20260526_HOU@TEX |
| game_type | ph |
| mlbID | 701305 |
| note | Doubled for Shewmake in the 8th. |
| playerID | 701305 |
| playerName | Zach Dezenzo |
| pos | LF |
| started | False |
| startingPosition | PH |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-26 |
| game_pk | 822898.0 |
| sl_k_percent | 35.6 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.302 |
| sl_xwoba | 0.27 |
| sl_xba | 0.193 |
| sl_xslg | 0.348 |
| sl_sweet_spot_percent | 48.0 |
| sl_barrel_batted_rate | 16.0 |
| sl_hard_hit_percent | 32.0 |
| sl_exit_velocity_avg | 85.1 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 33.8 |
| sl_swing_percent | 43.0 |
| at_bat_number | 64.0 |
| ab_pitcher | 656222.0 |
| ab_pitcher_name | Beeks, Jalen |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 9.0 |
| ab_away_score_start | 6.0 |
| ab_bat_score_start | 6.0 |
| ab_fld_score_start | 9.0 |
| ab_event | double |
| ab_event_description | Zach Dezenzo doubles (4) on a line drive to right fielder Brandon Nimmo. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 13.0 |
| ab_launch_speed_last | 90.8 |
| ab_launch_angle_last | 21.0 |
| ab_hit_distance_last | 263.0 |
| ab_estimated_ba_last | 0.274 |
| ab_estimated_woba_last | 0.272 |
| ab_estimated_slg_last | 0.395 |
| ab_woba_value | 1.25 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 1.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 9.0 |
| ab_away_score_end | 6.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 9.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.92 |
| ab_release_spin_rate_avg | 2237.8 |
| ab_effective_speed_avg | 93.0 |
| ab_launch_speed_avg | 90.8 |
| ab_launch_angle_avg | 21.0 |
| ab_delta_run_exp_avg | 0.105 |
| ab_delta_home_win_exp_avg | -0.0032 |
| ab_delta_pitcher_run_exp_avg | -0.105 |
| ab_bat_speed_avg | 77.6 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 90.8 |
| ab_hit_distance_sc_max | 263.0 |
| ab_release_speed_max | 94.5 |
| ab_release_spin_rate_max | 2301.0 |
| ab_release_speed_min | 88.0 |
| ab_release_spin_rate_min | 2087.0 |
| ab_delta_run_exp_sum | 0.525 |
| ab_delta_home_win_exp_sum | -0.016 |
| ab_delta_pitcher_run_exp_sum | -0.525 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.165 | 0.000 | 0.000 | Hitting_2B | 0.165 | 0.000 | -0.165 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.322 | 4.000 | 6.000 | Hitting_AB | 3.322 | 4.000 | 0.678 | 0.000 |
| predicted_AVG | 0.261 | 0.250 | 0.167 | Hitting_AVG | 0.277 | 0.250 | -0.027 | 0.000 |
| predicted_BB | 0.296 | 0.000 | 0.000 | Hitting_BB | 0.296 | 0.000 | -0.296 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.720 | 1.000 | 1.000 | Hitting_H | 0.922 | 1.000 | 0.078 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.314 | 0.250 | 0.167 | Hitting_OBP | 0.337 | 0.250 | -0.087 | 0.000 |
| predicted_R | 0.339 | 0.000 | 1.000 | Hitting_R | 0.339 | 0.000 | -0.339 | 0.000 |
| predicted_RBI | 0.440 | 0.000 | 1.000 | Hitting_RBI | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_SLG | 0.397 | 0.250 | 0.167 | Hitting_SLG | 0.453 | 0.250 | -0.203 | 0.000 |
| predicted_SO | 0.574 | 0.000 | 1.000 | Hitting_SO | 0.574 | 2.000 | -0.574 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 3.3220 -> 4.0000 (boost 0.6780, better) |
| Biggest Deboost | predicted_SO: 0.5740 -> 0.0000 (deboost -0.5740, 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.3220 -> 6.3983 (boost 3.0763, 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.2688 -> 0.2590 (deboost -0.0098, 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.6572 -> 2.0000 (boost 0.3428, better) | predicted_BB: 0.5027 -> 0.0000 (deboost -0.5027, worse) | AB rounded to 6 (raw=6.40), rates preserved: AVG=0.259 HR/AB=0.033 |
| 5 | bvp_blend | 1 | 0 | 1 | 0 | 1 | - | predicted_H: 2.0000 -> 1.0000 (deboost -1.0000, worse) | Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6296 -> 1.0000 (boost 0.3704, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4024 -> 0.1670 (deboost -0.2354, 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1670 -> 0.4024 (boost 0.2354, 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.165,
"predicted_3B": 0.0,
"predicted_AB": 3.322,
"predicted_AVG": 0.261,
"predicted_BB": 0.296,
"predicted_H": 0.72,
"predicted_HR": 0.1,
"predicted_OBP": 0.314,
"predicted_R": 0.339,
"predicted_RBI": 0.44,
"predicted_SLG": 0.397,
"predicted_SO": 0.574
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2829,
"predicted_3B": 0.0013,
"predicted_AB": 6.3983,
"predicted_AVG": 0.2688,
"predicted_BB": 0.5038,
"predicted_H": 1.668,
"predicted_HBP": 0.006,
"predicted_HR": 0.214,
"predicted_OBP": 0.3206,
"predicted_R": 0.6359,
"predicted_RBI": 0.9422,
"predicted_SLG": 0.4095,
"predicted_SO": 1.2324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.165,
"after": 0.2829,
"delta": 0.1179,
"percent_delta": 0.7145,
"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.322,
"after": 6.3983,
"delta": 3.0763,
"percent_delta": 0.926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.2688,
"delta": 0.0078,
"percent_delta": 0.0299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.5038,
"delta": 0.2078,
"percent_delta": 0.702,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.72,
"after": 1.668,
"delta": 0.948,
"percent_delta": 1.3167,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.214,
"delta": 0.114,
"percent_delta": 1.14,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.3206,
"delta": 0.0066,
"percent_delta": 0.021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.6359,
"delta": 0.2969,
"percent_delta": 0.8758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.9422,
"delta": 0.5022,
"percent_delta": 1.1414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.397,
"after": 0.4095,
"delta": 0.0125,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 1.2324,
"delta": 0.6584,
"percent_delta": 1.147,
"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.322,
"after": 6.3983,
"delta": 3.0763,
"percent_delta": 0.926,
"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": 3,
"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.2829,
"predicted_3B": 0.0013,
"predicted_AB": 6.3983,
"predicted_AVG": 0.259,
"predicted_BB": 0.5027,
"predicted_H": 1.6572,
"predicted_HBP": 0.006,
"predicted_HR": 0.2107,
"predicted_OBP": 0.313,
"predicted_R": 0.6296,
"predicted_RBI": 0.9329,
"predicted_SLG": 0.4024,
"predicted_SO": 1.235
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2829,
"after": 0.2829,
"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.3983,
"after": 6.3983,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2688,
"after": 0.259,
"delta": -0.0098,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5038,
"after": 0.5027,
"delta": -0.0011,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.668,
"after": 1.6572,
"delta": -0.0108,
"percent_delta": -0.0065,
"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.214,
"after": 0.2107,
"delta": -0.0033,
"percent_delta": -0.0154,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3206,
"after": 0.313,
"delta": -0.0076,
"percent_delta": -0.0237,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6359,
"after": 0.6296,
"delta": -0.0063,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9422,
"after": 0.9329,
"delta": -0.0093,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4095,
"after": 0.4024,
"delta": -0.0071,
"percent_delta": -0.0173,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2324,
"after": 1.235,
"delta": 0.0026,
"percent_delta": 0.0021,
"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.2688,
"after": 0.259,
"delta": -0.0098,
"percent_delta": -0.0365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.40), rates preserved: AVG=0.259 HR/AB=0.033",
"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.2829,
"after": 0.0,
"delta": -0.2829,
"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.3983,
"after": 6.0,
"delta": -0.3983,
"percent_delta": -0.0623,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5027,
"after": 0.0,
"delta": -0.5027,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6572,
"after": 2.0,
"delta": 0.3428,
"percent_delta": 0.2069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2107,
"after": 0.0,
"delta": -0.2107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9329,
"after": 1.0,
"delta": 0.0671,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.235,
"after": 1.0,
"delta": -0.235,
"percent_delta": -0.1903,
"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.6572,
"after": 2.0,
"delta": 0.3428,
"percent_delta": 0.2069,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.5027,
"after": 0.0,
"delta": -0.5027,
"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.111)",
"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": 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": 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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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.6296,
"after": 1.0,
"delta": 0.3704,
"percent_delta": 0.5883,
"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.6296,
"after": 1.0,
"delta": 0.3704,
"percent_delta": 0.5883,
"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.259,
"after": 0.167,
"delta": -0.092,
"percent_delta": -0.3552,
"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.313,
"after": 0.167,
"delta": -0.146,
"percent_delta": -0.4665,
"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.4024,
"after": 0.167,
"delta": -0.2354,
"percent_delta": -0.585,
"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.4024,
"after": 0.167,
"delta": -0.2354,
"percent_delta": -0.585,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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_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.259,
"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.313,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4024,
"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.259,
"delta": 0.092,
"percent_delta": 0.5509,
"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.313,
"delta": 0.146,
"percent_delta": 0.8741,
"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.4024,
"delta": 0.2354,
"percent_delta": 1.4095,
"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.4024,
"delta": 0.2354,
"percent_delta": 1.4095,
"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.165,
"after": 0.0,
"delta": -0.165,
"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.322,
"after": 4.0,
"delta": 0.678,
"percent_delta": 0.2041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.261,
"after": 0.259,
"delta": -0.002,
"percent_delta": -0.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.296,
"after": 0.0,
"delta": -0.296,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.314,
"after": 0.313,
"delta": -0.001,
"percent_delta": -0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.339,
"after": 0.0,
"delta": -0.339,
"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.397,
"after": 0.4024,
"delta": 0.0054,
"percent_delta": 0.0136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.574,
"after": 0.0,
"delta": -0.574,
"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_AB",
"before": 3.322,
"after": 4.0,
"delta": 0.678,
"percent_delta": 0.2041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.574,
"after": 0.0,
"delta": -0.574,
"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.165 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.322 | - |
| predicted_AVG | 0.261 | - |
| predicted_BB | 0.296 | - |
| predicted_H | 0.720 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.314 | - |
| predicted_R | 0.339 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.397 | - |
| predicted_SO | 0.574 | - |
Final model 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.283 | 0.118 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.398 | 3.076 |
| predicted_AVG | 0.269 | 0.008 |
| predicted_BB | 0.504 | 0.208 |
| predicted_H | 1.668 | 0.948 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.214 | 0.114 |
| predicted_OBP | 0.321 | 0.007 |
| predicted_R | 0.636 | 0.297 |
| predicted_RBI | 0.942 | 0.502 |
| predicted_SLG | 0.409 | 0.012 |
| predicted_SO | 1.232 | 0.658 |
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.283 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.398 | 0.000 |
| predicted_AVG | 0.259 | -0.010 |
| predicted_BB | 0.503 | -0.001 |
| predicted_H | 1.657 | -0.011 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.211 | -0.003 |
| predicted_OBP | 0.313 | -0.008 |
| predicted_R | 0.630 | -0.006 |
| predicted_RBI | 0.933 | -0.009 |
| predicted_SLG | 0.402 | -0.007 |
| predicted_SO | 1.235 | 0.003 |
AB rounded to 6 (raw=6.40), rates preserved: AVG=0.259 HR/AB=0.033
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 6.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 1.000 | - |
Sample-size BvP blend (BvP AB=9.0, weight=0.092, BvP AVG=0.111)
| 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 | -1.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.283 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.398 |
| predicted_AVG | 0.167 | -0.092 |
| predicted_BB | 0.000 | -0.503 |
| predicted_H | 1.000 | -0.657 |
| predicted_HR | 0.000 | -0.211 |
| predicted_OBP | 0.167 | -0.146 |
| predicted_R | 1.000 | 0.370 |
| predicted_RBI | 1.000 | 0.067 |
| predicted_SLG | 0.167 | -0.235 |
| predicted_SO | 1.000 | -0.235 |
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 | 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 | - | 20.000 | 6.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 0.000 | 8.000 | 0.3000 | 0.3000 | 0.3000 | 0.3000 | 0.0000 | 0.0500 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 3 | - | 40.000 | 12.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 0.000 | 8.000 | 0.3000 | 0.3000 | 0.3000 | 0.3000 | 0.0000 | 0.1000 | 0.0000 | 0.2000 |
| season | 0.60 | 35 | - | 382.000 | 106.000 | 19.000 | 0.000 | 16.000 | 66.000 | 39.000 | 34.000 | 66.000 | 0.2775 | 0.3365 | 0.4529 | 0.2775 | 0.0419 | 0.1728 | 0.0890 | 0.1728 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4390 |
| predicted_3B | 0.0030 |
| predicted_AB | 10.4710 |
| predicted_AVG | 0.2791 |
| predicted_BB | 0.7790 |
| predicted_H | 2.9230 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.3650 |
| predicted_OBP | 0.3293 |
| predicted_R | 1.0290 |
| predicted_RBI | 1.6070 |
| predicted_SLG | 0.4261 |
| predicted_SO | 2.1040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1650 | 0.4390 | 0.2829 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.3220 | 10.4710 | 6.3983 | model_form_blend |
| predicted_AVG | 0.2610 | 0.2791 | 0.2688 | model_form_blend |
| predicted_BB | 0.2960 | 0.7790 | 0.5038 | model_form_blend |
| predicted_H | 0.7200 | 2.9230 | 1.6680 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1000 | 0.3650 | 0.2140 | model_form_blend |
| predicted_OBP | 0.3140 | 0.3293 | 0.3206 | model_form_blend |
| predicted_R | 0.3390 | 1.0290 | 0.6359 | model_form_blend |
| predicted_RBI | 0.4400 | 1.6070 | 0.9422 | model_form_blend |
| predicted_SLG | 0.3970 | 0.4261 | 0.4095 | model_form_blend |
| predicted_SO | 0.5740 | 2.1040 | 1.2324 | 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 | 115 |
| 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.277 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 543877 |
| playerID | 543877 |
| playerName | Christian Vázquez |
| pos | C |
| started | True |
| startingPosition | C |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.327 |
| sl_xwoba | 0.263 |
| sl_xba | 0.22 |
| sl_xslg | 0.299 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 2.3 |
| sl_hard_hit_percent | 25.6 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 19.5 |
| sl_swing_percent | 44.4 |
| at_bat_number | 68.0 |
| ab_pitcher | 686560.0 |
| ab_pitcher_name | Collyer, Gavin |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 694728.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 3.0 |
| ab_event | strikeout |
| ab_event_description | Christian Vázquez strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.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 | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 3.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 93.9 |
| ab_release_spin_rate_avg | 2464.6666666666665 |
| ab_effective_speed_avg | 93.66666666666669 |
| ab_delta_run_exp_avg | -0.0833333333333333 |
| ab_delta_home_win_exp_avg | 0.0076666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0833333333333333 |
| ab_bat_speed_avg | 32.85 |
| ab_swing_length_avg | 3.8 |
| ab_release_speed_max | 97.1 |
| ab_release_spin_rate_max | 2593.0 |
| ab_release_speed_min | 90.1 |
| ab_release_spin_rate_min | 2363.0 |
| ab_delta_run_exp_sum | -0.25 |
| ab_delta_home_win_exp_sum | 0.023 |
| ab_delta_pitcher_run_exp_sum | 0.25 |
| 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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 3.571 | 4.000 | -3.571 | -4.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.857 | 0.000 | 0.143 | 1.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 3.429 | 2.000 | -0.429 | 1.000 |
| predicted_IP | 6.000 | 6.000 | 6.000 | Pitching_InningsPitched | 5.757 | 5.000 | 0.243 | 1.000 |
| predicted_SO | 6.000 | 6.000 | 6.000 | Pitching_SO | 5.714 | 5.000 | 0.286 | 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_SO: 3.0000 -> 6.0000 (boost 3.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 | pitcher_quality_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_SO: 3.0000 -> 6.0000 (boost 3.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": "681293",
"player_name": "Spencer Arrighetti",
"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": 0.0,
"predicted_ER": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.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": "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": 0.0,
"predicted_IP": 6.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"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": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 6.0,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 6.0,
"after": 6.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 6.0,
"delta": 3.0,
"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 | 1.000 | - |
| predicted_H | 3.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.000 | - |
| predicted_SO | 3.000 | - |
Elite/strong starter guardrail capped a noisy simulation draw using season workload, ERA/WHIP, and weighted recent form.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | 0.000 |
| predicted_ER | 1.000 | 0.000 |
| predicted_H | 3.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 6.000 | 0.000 |
| predicted_SO | 6.000 | 3.000 |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 30.000 | 3.000 | 16.000 | 17.000 | 27.000 | 1.000 | 0.9000 | 1.1000 | 0.1000 | 0.5333 | 0.5667 | 0.9000 | 0.0333 |
| last_10 | 0.35 | 7 | 41.000 | 6.000 | 24.000 | 25.000 | 40.000 | 1.000 | 1.3171 | 1.1951 | 0.1463 | 0.5854 | 0.6098 | 0.9756 | 0.0244 |
| season | 0.20 | 7 | 41.000 | 6.000 | 24.000 | 25.000 | 40.000 | 1.000 | 1.3171 | 1.1951 | 0.1463 | 0.5854 | 0.6098 | 0.9756 | 0.0244 |
| Metric | Value |
|---|---|
| predicted_BB | 2.9420 |
| predicted_ER | 1.5670 |
| predicted_ERA | 2.3500 |
| predicted_H | 4.2670 |
| predicted_HR | 0.4370 |
| predicted_IP | 6.0000 |
| predicted_SO | 5.5730 |
| predicted_WHIP | 1.2016 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 2.9420 | 1.3943 | model_form_blend |
| predicted_ER | 1.0000 | 1.5670 | 1.2687 | model_form_blend |
| predicted_ERA | - | 2.3500 | 2.3500 | form_only |
| predicted_H | 3.0000 | 4.2670 | 3.6005 | model_form_blend |
| predicted_HR | 0.0000 | 0.4370 | 0.2071 | model_form_blend |
| predicted_IP | 6.0000 | 6.0000 | 6.0000 | model_form_blend |
| predicted_SO | 3.0000 | 5.5730 | 4.2195 | model_form_blend |
| predicted_WHIP | - | 1.2016 | 1.2016 | 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.0 |
| H | 3 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 6 |
| HR | 0 |
| BF | 21 |
| Pitches | 95 |
| 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 | 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 | 23 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.32 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 2 |
| Pitching_H | 2 |
| Pitching_HBP | 2 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.0 |
| Pitching_Pitches | 89 |
| Pitching_R | 0 |
| Pitching_SO | 5 |
| Pitching_Strikes | 53 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260522_HOU@CHC |
| game_type | full |
| mlbID | 681293 |
| playerID | 681293 |
| playerName | Spencer Arrighetti |
| pos | P |
| started | True |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-22 |
| game_pk | 824679.0 |
| sl_k_percent | 22.9 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.268 |
| sl_xwoba | 0.343 |
| sl_sweet_spot_percent | 37.5 |
| sl_barrel_batted_rate | 5.8 |
| sl_hard_hit_percent | 29.8 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 43.0 |
| sv_pitch_count | 89.0 |
| sv_outs_recorded_est | 15.0 |
| sv_release_speed | 84.0438202247191 |
| sv_release_spin_rate | 2539.4269662921347 |
| sv_effective_speed | 85.51348314606741 |
| sv_launch_speed | 78.68518518518519 |
| sv_launch_angle | 27.55555555555556 |
| sv_woba_value | 6.35 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | -0.3909999999999999 |
| sv_delta_home_win_exp | -0.2649999999999999 |
| sl_avg_best_speed | 76.7450825 |
| sl_avg_hyper_speed | 92.399897961 |
| 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.053 | 1.000 | 0.947 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.684 | 0.000 | 0.316 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.789 | 1.000 | 1.211 | 1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.784 | 1.000 | 0.216 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.105 | 0.000 | -1.105 | 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 -> 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 | 1 | 0 | 1 | 0 | 1 | - | predicted_SO: 2.0000 -> 0.0000 (deboost -2.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "650556",
"player_name": "Bryan Abreu",
"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": 2.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.0,
"after": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"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 | 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.100 | 0.000 | 2.000 | 4.000 | 1.000 | 0.000 | 0.0000 | 1.3846 | 0.0000 | 0.4615 | 0.9231 | 0.2308 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 6.000 | 7.000 | 9.000 | 0.000 | 0.9310 | 1.3448 | 0.1035 | 0.6207 | 0.7241 | 0.9310 | 0.0000 |
| season | 0.20 | 19 | 17.000 | 13.000 | 15.000 | 20.000 | 21.000 | 4.000 | 6.8824 | 2.0588 | 0.7647 | 0.8823 | 1.1765 | 1.2353 | 0.2353 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5840 |
| predicted_ER | 0.3580 |
| predicted_ERA | 3.2221 |
| predicted_H | 0.8060 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8370 |
| predicted_WHIP | 1.3897 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 0.5840 | 1.4377 | model_form_blend |
| predicted_ER | 1.0000 | 0.3580 | 0.7451 | model_form_blend |
| predicted_ERA | - | 3.2221 | 3.2221 | form_only |
| predicted_H | 2.0000 | 0.8060 | 1.5259 | model_form_blend |
| predicted_HR | 0.0000 | 0.0970 | 0.0385 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.8370 | 1.5382 | model_form_blend |
| predicted_WHIP | - | 1.3897 | 1.3897 | 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 | 2 |
| R | 1 |
| ER | 1 |
| BB | 2 |
| SO | 0 |
| HR | 0 |
| BF | 7 |
| Pitches | 7 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 6.88 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260524_HOU@CHC |
| game_type | full |
| mlbID | 650556 |
| playerID | 650556 |
| playerName | Bryan Abreu |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-24 |
| game_pk | 824676.0 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 23.3 |
| sl_woba | 0.419 |
| sl_xwoba | 0.388 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 11.9 |
| sl_hard_hit_percent | 52.4 |
| sl_whiff_percent | 32.3 |
| sl_swing_percent | 38.2 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.75333333333333 |
| sv_release_spin_rate | 2385.6666666666665 |
| sv_effective_speed | 89.14666666666668 |
| sv_launch_speed | 88.9 |
| sv_launch_angle | 12.0 |
| sv_woba_value | 1.6 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.249 |
| sv_delta_home_win_exp | -0.091 |
| sl_avg_best_speed | 81.930168571 |
| sl_avg_hyper_speed | 95.61477439 |
| 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 | 0.000 | 0.000 | 0.000 | Pitching_H | 1.048 | 1.000 | -1.048 | -1.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.971 | 0.100 | 0.029 | 0.900 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.905 | 1.000 | -0.905 | -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": "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": 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 | 4.100 | 1.000 | 4.000 | 2.000 | 3.000 | 1.000 | 2.0769 | 1.3846 | 0.2308 | 0.9231 | 0.4615 | 0.6923 | 0.2308 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 9.000 | 5.000 | 6.000 | 1.000 | 2.4545 | 1.2727 | 0.2727 | 0.8182 | 0.4546 | 0.5454 | 0.0909 |
| season | 0.20 | 21 | 23.200 | 8.000 | 22.000 | 10.000 | 19.000 | 1.000 | 3.0423 | 1.3521 | 0.3380 | 0.9296 | 0.4225 | 0.8028 | 0.0423 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4090 |
| predicted_ER | 0.3730 |
| predicted_ERA | 3.3533 |
| predicted_H | 0.9160 |
| predicted_HR | 0.1370 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.8080 |
| predicted_WHIP | 1.3251 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4090 | 0.1765 | model_form_blend |
| predicted_ER | 0.0000 | 0.3730 | 0.1609 | model_form_blend |
| predicted_ERA | - | 3.3533 | 3.3533 | form_only |
| predicted_H | 0.0000 | 0.9160 | 0.3952 | model_form_blend |
| predicted_HR | 0.0000 | 0.1370 | 0.0591 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.8080 | 0.9172 | model_form_blend |
| predicted_WHIP | - | 1.3251 | 1.3251 | 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 | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.04 |
| 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 | 0.1 |
| Pitching_Pitches | 12 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 5 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 687911 |
| playerID | 687911 |
| playerName | Bryan King |
| pos | P |
| started | False |
| startingPosition | P |
| team | HOU |
| teamID | 11 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.285 |
| sl_xwoba | 0.29 |
| sl_sweet_spot_percent | 28.2 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 39.4 |
| sl_whiff_percent | 18.5 |
| sl_swing_percent | 49.4 |
| sv_pitch_count | 12.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 89.60833333333333 |
| sv_release_spin_rate | 2049.083333333333 |
| sv_effective_speed | 90.10833333333332 |
| sv_launch_speed | 103.6 |
| sv_launch_angle | 21.0 |
| sv_woba_value | 2.7 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 1.3130000000000002 |
| sv_delta_home_win_exp | 0.149 |
| sl_avg_best_speed | 78.118561714 |
| sl_avg_hyper_speed | 93.320464571 |
| Field | Value |
|---|---|
| Pitcher | Nathan Eovaldi |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0177 |
| ESPN Rank | 135 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1092 |
| Avg Velo | 87.7378 |
| Avg Spin | 1898.5487 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 6.1000 |
| Pre ER | 0 |
| Pre H | 6 |
| Pre BB | 1 |
| Pre SO | 5 |
| Season ERA | 3.6486 |
| Season WHIP | 1.1351 |
| Role Avg IP | 6.1670 |
| Recent Avg IP | 7 |
| Last Start IP | 7 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"opponent": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"edges": {
"quality_edge": 0.0525,
"offense_edge": -0.0919,
"opponent_offense_edge": -0.0121,
"defense_strength": 0.1148,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.984,
"strikeout": 1.0025
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "543135",
"profile": {
"available": true,
"pitcher_id": "543135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 227.0,
"k_percent": 23.8,
"bb_percent": 5.5,
"woba": 0.311,
"xwoba": 0.32,
"sweet_spot_percent": 29.0,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 41.5,
"avg_best_speed": 78.1565,
"avg_hyper_speed": 94.3861,
"whiff_percent": 31.9,
"swing_percent": 53.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.1693,
"command_and_miss": 0.5721,
"regression_edge": -0.2571,
"xwoba_edge": -0.3143,
"barrel_edge": -0.1556,
"hard_hit_edge": -0.4286,
"whiff_edge": 0.8571,
"bb_edge": 0.975,
"pitch_design_score": -0.1092
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "543135",
"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": 87.73778951640207,
"release_spin_rate": 1898.5486610684104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.73778951640207,
"release_spin_rate": 1898.5486610684104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7378,
"release_spin_rate": 1898.5487,
"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.1092,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7799,
"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.0177,
"sample_weight": 0.908,
"run_prevention_factor": 0.9985,
"strikeout_factor": 1.0374,
"walk_factor": 0.9292,
"homer_factor": 1.0354,
"woba_minus_xwoba": -0.009,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543135",
"espn_id": 31174,
"player_name": "Nathan Eovaldi",
"team": "TEX",
"role": "pitcher",
"espn_rank": 135,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 135,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 10.0,
"gs_rank": 70,
"qs_value": 6.0,
"qs_rank": 20,
"era_value": 3.6486,
"era_rank": 38.0,
"w_value": 5.0,
"w_rank": 18,
"l_value": 5.0,
"l_rank": 16,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 61.2,
"ip_rank": 35,
"h_value": 56.0,
"h_rank": 44,
"er_value": 25.0,
"er_rank": 65,
"hr_value": 11.0,
"hr_rank": 13,
"bb_value": 14.0,
"bb_rank": 146,
"k_value": 61.0,
"k_rank": 33,
"k_per_9_value": 8.902702,
"k_per_9_rank": 25,
"whip_value": 1.1351,
"whip_rank": 31.0,
"war_value": 0.59,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 0.9986,
"adjusted": 2
},
"predicted_H": {
"original": 5.0,
"factor": 0.9986,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9357,
"adjusted": 1
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0321,
"adjusted": 1
},
"predicted_SO": {
"original": 6.0,
"factor": 1.034,
"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": 61.2,
"ER": 25,
"H": 56,
"BB": 14,
"SO": 61,
"HR": 11,
"ERA": 3.6486486486486487,
"WHIP": 1.135135135135135,
"K9": 8.902702702702703,
"HR9": 1.6054054054054054,
"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-23T00:00:00"
}{
"available": true,
"pitcher_id": "543135",
"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": 87.73778951640207,
"release_spin_rate": 1898.5486610684104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.73778951640207,
"release_spin_rate": 1898.5486610684104,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7378,
"release_spin_rate": 1898.5487,
"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.1092,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.7799,
"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": "543135",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 6.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 35.0,
"ER": 10.0,
"R": 10.0,
"H": 23.0,
"BB": 6.0,
"SO": 32.0,
"HR": 6.0,
"BF": 134.0,
"Pitches": 480.0
},
"per_game": {
"IP": 7.0,
"ER": 2.0,
"R": 2.0,
"H": 4.6,
"BB": 1.2,
"SO": 6.4,
"HR": 1.2,
"BF": 26.8,
"Pitches": 96.0
},
"rates": {
"ERA": 2.5714,
"WHIP": 0.8286,
"ER_per_IP": 0.28571,
"H_per_IP": 0.65714,
"BB_per_IP": 0.17143,
"SO_per_IP": 0.91429,
"HR_per_IP": 0.17143
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.2,
"ER": 25.0,
"R": 27.0,
"H": 56.0,
"BB": 14.0,
"SO": 61.0,
"HR": 11.0,
"BF": 256.0,
"Pitches": 920.0
},
"per_game": {
"IP": 6.0,
"ER": 2.5,
"R": 2.7,
"H": 5.6,
"BB": 1.4,
"SO": 6.1,
"HR": 1.1,
"BF": 25.6,
"Pitches": 92.0
},
"rates": {
"ERA": 3.6486,
"WHIP": 1.1351,
"ER_per_IP": 0.40541,
"H_per_IP": 0.90811,
"BB_per_IP": 0.22703,
"SO_per_IP": 0.98919,
"HR_per_IP": 0.17838
}
},
"season": {
"games": 10,
"totals": {
"IP": 61.2,
"ER": 25.0,
"R": 27.0,
"H": 56.0,
"BB": 14.0,
"SO": 61.0,
"HR": 11.0,
"BF": 256.0,
"Pitches": 920.0
},
"per_game": {
"IP": 6.0,
"ER": 2.5,
"R": 2.7,
"H": 5.6,
"BB": 1.4,
"SO": 6.1,
"HR": 1.1,
"BF": 25.6,
"Pitches": 92.0
},
"rates": {
"ERA": 3.6486,
"WHIP": 1.1351,
"ER_per_IP": 0.40541,
"H_per_IP": 0.90811,
"BB_per_IP": 0.22703,
"SO_per_IP": 0.98919,
"HR_per_IP": 0.17838
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 2.481,
"predicted_H": 5.355,
"predicted_BB": 1.644,
"predicted_SO": 6.136,
"predicted_HR": 1.038,
"predicted_ERA": 3.4421,
"predicted_WHIP": 1.0792
}
}{
"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": 6.1,
"form": 6.1,
"final": 6.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 2.481,
"final": 1.2633,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.355,
"final": 5.6716,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.644,
"final": 1.3279,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 6.136,
"final": 5.5784,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 1.038,
"final": 0.5285,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4421,
"final": 3.4421,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0792,
"final": 1.0792,
"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 Latz |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1930 |
| ESPN Rank | 110 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0249 |
| Avg Velo | 89.2424 |
| Avg Spin | 2333.5080 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 1.0800 |
| Season WHIP | 0.4400 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"opponent": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"edges": {
"quality_edge": 0.0525,
"offense_edge": -0.0919,
"opponent_offense_edge": -0.0121,
"defense_strength": 0.1148,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.984,
"strikeout": 1.0025
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656641",
"profile": {
"available": true,
"pitcher_id": "656641",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 79.0,
"k_percent": 25.3,
"bb_percent": 5.5,
"woba": 0.18,
"xwoba": 0.261,
"sweet_spot_percent": 20.6,
"barrel_batted_rate": 7.9,
"hard_hit_percent": 47.6,
"avg_best_speed": 80.886,
"avg_hyper_speed": 94.79,
"whiff_percent": 28.2,
"swing_percent": 47.8
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.9021,
"command_and_miss": 0.4836,
"regression_edge": -2.0,
"xwoba_edge": 1.3714,
"barrel_edge": -0.1333,
"hard_hit_edge": -1.3,
"whiff_edge": 0.3286,
"bb_edge": 0.975,
"pitch_design_score": -0.0249
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656641",
"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.24239815714878,
"release_spin_rate": 2333.508048484195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.24239815714878,
"release_spin_rate": 2333.508048484195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2424,
"release_spin_rate": 2333.508,
"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.0249,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1781,
"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.193,
"sample_weight": 0.45,
"run_prevention_factor": 0.9836,
"strikeout_factor": 1.0129,
"walk_factor": 0.9649,
"homer_factor": 1.0097,
"woba_minus_xwoba": -0.081,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656641",
"espn_id": 3210625,
"player_name": "Jacob Latz",
"team": "TEX",
"role": "pitcher",
"espn_rank": 110,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 110,
"gp_value": 20.0,
"gp_rank": 118,
"gs_value": 1.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.16,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 6.0,
"sv_rank": 17,
"hld_value": 2.0,
"hld_rank": 147,
"ip_value": 25.0,
"ip_rank": 212,
"h_value": 10.0,
"h_rank": 416,
"er_value": 6.0,
"er_rank": 368,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 5.0,
"bb_rank": 411,
"k_value": 23.0,
"k_rank": 243,
"k_per_9_value": 8.280001,
"k_per_9_rank": 30,
"whip_value": 0.6,
"whip_rank": null,
"war_value": 0.71,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9926,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9926,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9842,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0044,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0058,
"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.1,
"ER": 1,
"H": 3,
"BB": 1,
"SO": 13,
"HR": 1,
"ERA": 0.7297297297297298,
"WHIP": 0.32432432432432434,
"K9": 9.486486486486488,
"HR9": 0.7297297297297298,
"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-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "656641",
"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.24239815714878,
"release_spin_rate": 2333.508048484195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.24239815714878,
"release_spin_rate": 2333.508048484195,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2424,
"release_spin_rate": 2333.508,
"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.0249,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1781,
"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.931,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4965,
"prior_weight": 0.5035
},
"role": "pitcher",
"player_id": "656641",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.1,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 1.0,
"SO": 8.0,
"HR": 1.0,
"BF": 25.0,
"Pitches": 102.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.4,
"BB": 0.2,
"SO": 1.6,
"HR": 0.2,
"BF": 5.0,
"Pitches": 20.4
},
"rates": {
"ERA": 1.2273,
"WHIP": 0.4091,
"ER_per_IP": 0.13636,
"H_per_IP": 0.27273,
"BB_per_IP": 0.13636,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.13636
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 13.1,
"ER": 1.0,
"R": 1.0,
"H": 3.0,
"BB": 1.0,
"SO": 13.0,
"HR": 1.0,
"BF": 44.0,
"Pitches": 183.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.3,
"BB": 0.1,
"SO": 1.3,
"HR": 0.1,
"BF": 4.4,
"Pitches": 18.3
},
"rates": {
"ERA": 0.675,
"WHIP": 0.3,
"ER_per_IP": 0.075,
"H_per_IP": 0.225,
"BB_per_IP": 0.075,
"SO_per_IP": 0.975,
"HR_per_IP": 0.075
}
},
"season": {
"games": 19,
"totals": {
"IP": 25.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 4.0,
"SO": 23.0,
"HR": 2.0,
"BF": 87.0,
"Pitches": 371.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1579,
"R": 0.1579,
"H": 0.3684,
"BB": 0.2105,
"SO": 1.2105,
"HR": 0.1053,
"BF": 4.5789,
"Pitches": 19.5263
},
"rates": {
"ERA": 1.08,
"WHIP": 0.44,
"ER_per_IP": 0.12,
"H_per_IP": 0.28,
"BB_per_IP": 0.16,
"SO_per_IP": 0.92,
"HR_per_IP": 0.08
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.39,
"predicted_H": 0.804,
"predicted_BB": 0.327,
"predicted_SO": 1.307,
"predicted_HR": 0.157,
"predicted_ERA": 2.6342,
"predicted_WHIP": 0.8479
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5627,
"form_weight": 0.4373,
"form_reliability": 0.4965,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.931,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4965,
"prior_weight": 0.5035
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.39,
"final": 0.1705,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.804,
"final": 0.3516,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.327,
"final": 0.143,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.307,
"final": 1.697,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.157,
"final": 0.0687,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6342,
"final": 2.6342,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.8479,
"final": 0.8479,
"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 | Jakob Junis |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0628 |
| ESPN Rank | 86 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1977 |
| Avg Velo | 86.1578 |
| Avg Spin | 2051.2806 |
| 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 | 1.5000 |
| Season WHIP | 0.7083 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"opponent": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"edges": {
"quality_edge": 0.0525,
"offense_edge": -0.0919,
"opponent_offense_edge": -0.0121,
"defense_strength": 0.1148,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.984,
"strikeout": 1.0025
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "596001",
"profile": {
"available": true,
"pitcher_id": "596001",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 83.0,
"k_percent": 14.4,
"bb_percent": 5.6,
"woba": 0.186,
"xwoba": 0.292,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 28.6,
"avg_best_speed": 75.288,
"avg_hyper_speed": 92.4438,
"whiff_percent": 17.3,
"swing_percent": 47.3
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.9906,
"command_and_miss": -0.7671,
"regression_edge": -2.0,
"xwoba_edge": 0.4857,
"barrel_edge": 0.6667,
"hard_hit_edge": 1.4143,
"whiff_edge": -1.2286,
"bb_edge": 0.95,
"pitch_design_score": -0.1977
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "596001",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 25,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 25,
"pitch_usage": 0.0,
"release_speed": 86.15776581303622,
"release_spin_rate": 2051.2805594270835,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 25,
"pitch_usage": 0.0,
"release_speed": 86.15776581303622,
"release_spin_rate": 2051.2805594270835,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1578,
"release_spin_rate": 2051.2806,
"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.1977,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4119,
"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.0628,
"sample_weight": 0.45,
"run_prevention_factor": 0.9947,
"strikeout_factor": 0.9568,
"walk_factor": 0.9658,
"homer_factor": 0.944,
"woba_minus_xwoba": -0.106,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "596001",
"espn_id": 36056,
"player_name": "Jakob Junis",
"team": "TEX",
"role": "pitcher",
"espn_rank": 86,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 86,
"gp_value": 20.0,
"gp_rank": 118,
"gs_value": 1.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 3.0,
"sv_rank": 36,
"hld_value": 5.0,
"hld_rank": 66,
"ip_value": 24.0,
"ip_rank": 233,
"h_value": 12.0,
"h_rank": 389,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 5.0,
"bb_rank": 411,
"k_value": 13.0,
"k_rank": 377,
"k_per_9_value": 4.875,
"k_per_9_rank": 43,
"whip_value": 0.7083,
"whip_rank": null,
"war_value": 0.81,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9976,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9846,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9748,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9806,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 12.2,
"ER": 1,
"H": 6,
"BB": 1,
"SO": 7,
"HR": 0,
"ERA": 0.7105263157894737,
"WHIP": 0.5526315789473685,
"K9": 4.973684210526316,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "596001",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 25,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 25,
"pitch_usage": 0.0,
"release_speed": 86.15776581303622,
"release_spin_rate": 2051.2805594270835,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 25,
"pitch_usage": 0.0,
"release_speed": 86.15776581303622,
"release_spin_rate": 2051.2805594270835,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1578,
"release_spin_rate": 2051.2806,
"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.1977,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.4119,
"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.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4863,
"prior_weight": 0.5137
},
"role": "pitcher",
"player_id": "596001",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 1.0,
"R": 1.0,
"H": 4.0,
"BB": 0.0,
"SO": 6.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 97.0
},
"per_game": {
"IP": 1.2,
"ER": 0.2,
"R": 0.2,
"H": 0.8,
"BB": 0.0,
"SO": 1.2,
"HR": 0.0,
"BF": 5.4,
"Pitches": 19.4
},
"rates": {
"ERA": 1.1739,
"WHIP": 0.5217,
"ER_per_IP": 0.13043,
"H_per_IP": 0.52174,
"BB_per_IP": 0.0,
"SO_per_IP": 0.78261,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.2,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 45.0,
"Pitches": 163.0
},
"per_game": {
"IP": 1.1,
"ER": 0.1,
"R": 0.1,
"H": 0.6,
"BB": 0.1,
"SO": 0.7,
"HR": 0.0,
"BF": 4.5,
"Pitches": 16.3
},
"rates": {
"ERA": 0.7105,
"WHIP": 0.5526,
"ER_per_IP": 0.07895,
"H_per_IP": 0.47368,
"BB_per_IP": 0.07895,
"SO_per_IP": 0.55263,
"HR_per_IP": 0.0
}
},
"season": {
"games": 20,
"totals": {
"IP": 24.0,
"ER": 4.0,
"R": 4.0,
"H": 12.0,
"BB": 5.0,
"SO": 13.0,
"HR": 0.0,
"BF": 90.0,
"Pitches": 317.0
},
"per_game": {
"IP": 1.1,
"ER": 0.2,
"R": 0.2,
"H": 0.6,
"BB": 0.25,
"SO": 0.65,
"HR": 0.0,
"BF": 4.5,
"Pitches": 15.85
},
"rates": {
"ERA": 1.5,
"WHIP": 0.7083,
"ER_per_IP": 0.16667,
"H_per_IP": 0.5,
"BB_per_IP": 0.20833,
"SO_per_IP": 0.54167,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.371,
"predicted_H": 0.899,
"predicted_BB": 0.276,
"predicted_SO": 0.992,
"predicted_HR": 0.083,
"predicted_ERA": 2.7024,
"predicted_WHIP": 0.9511
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.567,
"form_weight": 0.433,
"form_reliability": 0.4863,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4863,
"prior_weight": 0.5137
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.371,
"final": 0.7277,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.899,
"final": 1.5233,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.276,
"final": 0.1195,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.992,
"final": 0.9965,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.083,
"final": 0.0359,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7024,
"final": 2.7024,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9511,
"final": 0.9511,
"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 Alexander |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2411 |
| ESPN Rank | 139 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1621 |
| Avg Velo | 86.7921 |
| Avg Spin | 2079.8946 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 2.2500 |
| Season WHIP | 1.3750 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TEX",
"games": 61,
"wins": 29,
"losses": 32,
"win_pct": 0.4754,
"runs_scored": 245.0,
"runs_allowed": 242.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0492,
"avg_runs_scored": 4.0164,
"avg_runs_allowed": 3.9672,
"offense_index": 0.9081,
"defense_index": 1.1148,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 4,
"losses": 6,
"win_pct": 0.4,
"avg_runs_scored": 5.1,
"avg_runs_allowed": 4.7,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0498
},
"opponent": {
"team": "HOU",
"games": 65,
"wins": 28,
"losses": 37,
"win_pct": 0.4308,
"runs_scored": 284.0,
"runs_allowed": 325.0,
"run_differential": -41.0,
"run_differential_per_game": -0.6308,
"avg_runs_scored": 4.3692,
"avg_runs_allowed": 5.0,
"offense_index": 0.9879,
"defense_index": 0.8846,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 4.1,
"avg_runs_allowed": 3.9,
"run_differential": 2.0
},
"available": true,
"quality_score": -0.1023
},
"edges": {
"quality_edge": 0.0525,
"offense_edge": -0.0919,
"opponent_offense_edge": -0.0121,
"defense_strength": 0.1148,
"opponent_defense_weakness": 0.1154,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 1.006,
"run_prevention": 0.984,
"strikeout": 1.0025
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "641302",
"profile": {
"available": true,
"pitcher_id": "641302",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 18.6,
"bb_percent": 7.8,
"woba": 0.307,
"xwoba": 0.266,
"sweet_spot_percent": 24.7,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 27.4,
"avg_best_speed": 75.4813,
"avg_hyper_speed": 92.3545,
"whiff_percent": 17.0,
"swing_percent": 45.7
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.0596,
"command_and_miss": -0.6221,
"regression_edge": 1.1714,
"xwoba_edge": 1.2286,
"barrel_edge": 1.3111,
"hard_hit_edge": 1.5857,
"whiff_edge": -1.2714,
"bb_edge": 0.4,
"pitch_design_score": -0.1621
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.79211385745542,
"release_spin_rate": 2079.8945735478815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.79211385745542,
"release_spin_rate": 2079.8945735478815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7921,
"release_spin_rate": 2079.8946,
"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.1621,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1582,
"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.2411,
"sample_weight": 0.45,
"run_prevention_factor": 0.9795,
"strikeout_factor": 0.9668,
"walk_factor": 0.9856,
"homer_factor": 0.9077,
"woba_minus_xwoba": 0.041,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "641302",
"espn_id": 40360,
"player_name": "Tyler Alexander",
"team": "TEX",
"role": "pitcher",
"espn_rank": 139,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 139,
"gp_value": 24.0,
"gp_rank": 41,
"gs_value": 1.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.25,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 2.0,
"sv_rank": 49,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 24.0,
"ip_rank": 233,
"h_value": 25.0,
"h_rank": 178,
"er_value": 6.0,
"er_rank": 368,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 8.0,
"bb_rank": 282,
"k_value": 19.0,
"k_rank": 295,
"k_per_9_value": 7.125,
"k_per_9_rank": 34,
"whip_value": 1.375,
"whip_rank": null,
"war_value": 0.58,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9908,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9908,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9935,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9585,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9851,
"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": 5,
"H": 10,
"BB": 5,
"SO": 7,
"HR": 2,
"ERA": 5.192307692307692,
"WHIP": 1.7307692307692306,
"K9": 7.269230769230768,
"HR9": 2.0769230769230766,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "641302",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 18,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.79211385745542,
"release_spin_rate": 2079.8945735478815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 18,
"pitch_usage": 0.0,
"release_speed": 86.79211385745542,
"release_spin_rate": 2079.8945735478815,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7921,
"release_spin_rate": 2079.8946,
"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.1621,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.1582,
"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.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4863,
"prior_weight": 0.5137
},
"role": "pitcher",
"player_id": "641302",
"report_date": "20260528_H",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 0.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 1.0,
"R": 2.0,
"H": 2.0,
"BB": 3.0,
"SO": 4.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 87.0
},
"per_game": {
"IP": 0.2,
"ER": 0.2,
"R": 0.4,
"H": 0.4,
"BB": 0.6,
"SO": 0.8,
"HR": 0.2,
"BF": 4.0,
"Pitches": 17.4
},
"rates": {
"ERA": 2.25,
"WHIP": 1.25,
"ER_per_IP": 0.25,
"H_per_IP": 0.5,
"BB_per_IP": 0.75,
"SO_per_IP": 1.0,
"HR_per_IP": 0.25
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 5.0,
"R": 6.0,
"H": 10.0,
"BB": 5.0,
"SO": 7.0,
"HR": 2.0,
"BF": 42.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6,
"H": 1.0,
"BB": 0.5,
"SO": 0.7,
"HR": 0.2,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 5.1923,
"WHIP": 1.7308,
"ER_per_IP": 0.57692,
"H_per_IP": 1.15385,
"BB_per_IP": 0.57692,
"SO_per_IP": 0.80769,
"HR_per_IP": 0.23077
}
},
"season": {
"games": 24,
"totals": {
"IP": 24.0,
"ER": 6.0,
"R": 8.0,
"H": 25.0,
"BB": 8.0,
"SO": 19.0,
"HR": 2.0,
"BF": 105.0,
"Pitches": 403.0
},
"per_game": {
"IP": 1.0,
"ER": 0.25,
"R": 0.3333,
"H": 1.0417,
"BB": 0.3333,
"SO": 0.7917,
"HR": 0.0833,
"BF": 4.375,
"Pitches": 16.7917
},
"rates": {
"ERA": 2.25,
"WHIP": 1.375,
"ER_per_IP": 0.25,
"H_per_IP": 1.04167,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.79167,
"HR_per_IP": 0.08333
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.245,
"predicted_H": 0.521,
"predicted_BB": 0.283,
"predicted_SO": 0.537,
"predicted_HR": 0.099,
"predicted_ERA": 3.7737,
"predicted_WHIP": 1.3759
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.567,
"form_weight": 0.433,
"form_reliability": 0.4863,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.734,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4863,
"prior_weight": 0.5137
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.245,
"final": 0.1061,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.521,
"final": 0.7926,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.283,
"final": 0.1225,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.537,
"final": 0.2325,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.099,
"final": 0.0429,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.7737,
"final": 3.7737,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3759,
"final": 1.3759,
"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.039 | 0.000 | 0.000 | Hitting_3B | 0.039 | 0.000 | -0.039 | 0.000 |
| predicted_AB | 4.300 | 4.000 | 9.000 | Hitting_AB | 3.983 | 4.000 | 0.017 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.222 | Hitting_AVG | 0.267 | 0.250 | -0.267 | -0.250 |
| predicted_BB | 0.416 | 0.000 | 1.000 | Hitting_BB | 0.416 | 0.000 | -0.416 | 0.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.065 | 1.000 | -1.065 | -1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.121 | 0.000 | -0.121 | 0.000 |
| predicted_OBP | 0.326 | 0.000 | 0.300 | Hitting_OBP | 0.349 | 0.250 | -0.349 | -0.250 |
| predicted_R | 0.450 | 0.000 | 1.000 | Hitting_R | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_RBI | 0.470 | 0.000 | 1.000 | Hitting_RBI | 0.390 | 1.000 | -0.390 | -1.000 |
| predicted_SLG | 0.416 | 0.000 | 0.222 | Hitting_SLG | 0.425 | 0.250 | -0.425 | -0.250 |
| predicted_SO | 0.922 | 1.000 | 2.000 | Hitting_SO | 0.922 | 1.000 | 0.078 | 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.9220 -> 1.0000 (boost 0.0780, 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 | 10 | 9 | 1 | 8 | 2 | predicted_AB: 4.3000 -> 9.4237 (boost 5.1237, better) | predicted_SLG: 0.4160 -> 0.4066 (deboost -0.0094, 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.2489 -> 0.2557 (boost 0.0068, better) | predicted_SLG: 0.4066 -> 0.3950 (deboost -0.0116, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 8 | 1 | 7 | 2 | 6 | predicted_BB: 0.8811 -> 1.0000 (boost 0.1189, better) | predicted_AB: 9.4237 -> 9.0000 (deboost -0.4237, worse) | AB rounded to 9 (raw=9.42), rates preserved: AVG=0.256 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.3950 -> 0.2220 (deboost -0.1730, 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: 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.3950 (boost 0.1730, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "607043",
"player_name": "Brandon Nimmo",
"position": "RF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.039,
"predicted_AB": 4.3,
"predicted_AVG": 0.238,
"predicted_BB": 0.416,
"predicted_H": 1.03,
"predicted_HR": 0.14,
"predicted_OBP": 0.326,
"predicted_R": 0.45,
"predicted_RBI": 0.47,
"predicted_SLG": 0.416,
"predicted_SO": 0.922
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3795,
"predicted_3B": 0.0783,
"predicted_AB": 9.4237,
"predicted_AVG": 0.2489,
"predicted_BB": 0.883,
"predicted_H": 2.4191,
"predicted_HBP": 0.298,
"predicted_HR": 0.258,
"predicted_OBP": 0.3297,
"predicted_R": 0.9992,
"predicted_RBI": 1.0386,
"predicted_SLG": 0.4066,
"predicted_SO": 2.0901
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.186,
"after": 0.3795,
"delta": 0.1935,
"percent_delta": 1.0403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.039,
"after": 0.0783,
"delta": 0.0393,
"percent_delta": 1.0077,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.3,
"after": 9.4237,
"delta": 5.1237,
"percent_delta": 1.1916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2489,
"delta": 0.0109,
"percent_delta": 0.0458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.416,
"after": 0.883,
"delta": 0.467,
"percent_delta": 1.1226,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.4191,
"delta": 1.3891,
"percent_delta": 1.3486,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.258,
"delta": 0.118,
"percent_delta": 0.8429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3297,
"delta": 0.0037,
"percent_delta": 0.0113,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.45,
"after": 0.9992,
"delta": 0.5492,
"percent_delta": 1.2204,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 1.0386,
"delta": 0.5686,
"percent_delta": 1.2098,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4066,
"delta": -0.0094,
"percent_delta": -0.0226,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.922,
"after": 2.0901,
"delta": 1.1681,
"percent_delta": 1.2669,
"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.3,
"after": 9.4237,
"delta": 5.1237,
"percent_delta": 1.1916,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.4066,
"delta": -0.0094,
"percent_delta": -0.0226,
"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": 3,
"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.3795,
"predicted_3B": 0.0783,
"predicted_AB": 9.4237,
"predicted_AVG": 0.2557,
"predicted_BB": 0.8811,
"predicted_H": 2.4097,
"predicted_HBP": 0.298,
"predicted_HR": 0.2588,
"predicted_OBP": 0.3193,
"predicted_R": 0.9925,
"predicted_RBI": 1.0316,
"predicted_SLG": 0.395,
"predicted_SO": 2.0945
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3795,
"after": 0.3795,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0783,
"after": 0.0783,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.4237,
"after": 9.4237,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2489,
"after": 0.2557,
"delta": 0.0068,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.883,
"after": 0.8811,
"delta": -0.0019,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4191,
"after": 2.4097,
"delta": -0.0094,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.298,
"after": 0.298,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.258,
"after": 0.2588,
"delta": 0.0008,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3297,
"after": 0.3193,
"delta": -0.0104,
"percent_delta": -0.0315,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9992,
"after": 0.9925,
"delta": -0.0067,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0386,
"after": 1.0316,
"delta": -0.007,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4066,
"after": 0.395,
"delta": -0.0116,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0901,
"after": 2.0945,
"delta": 0.0044,
"percent_delta": 0.0021,
"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.2489,
"after": 0.2557,
"delta": 0.0068,
"percent_delta": 0.0273,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4066,
"after": 0.395,
"delta": -0.0116,
"percent_delta": -0.0285,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.42), rates preserved: AVG=0.256 HR/AB=0.027",
"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.3795,
"after": 0.0,
"delta": -0.3795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0783,
"after": 0.0,
"delta": -0.0783,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 9.4237,
"after": 9.0,
"delta": -0.4237,
"percent_delta": -0.045,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8811,
"after": 1.0,
"delta": 0.1189,
"percent_delta": 0.1349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4097,
"after": 2.0,
"delta": -0.4097,
"percent_delta": -0.17,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.298,
"after": 0.0,
"delta": -0.298,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2588,
"after": 0.0,
"delta": -0.2588,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0316,
"after": 1.0,
"delta": -0.0316,
"percent_delta": -0.0306,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0945,
"after": 2.0,
"delta": -0.0945,
"percent_delta": -0.0451,
"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.8811,
"after": 1.0,
"delta": 0.1189,
"percent_delta": 0.1349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 9.4237,
"after": 9.0,
"delta": -0.4237,
"percent_delta": -0.045,
"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": 0.9925,
"after": 1.0,
"delta": 0.0075,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.2557,
"after": 0.222,
"delta": -0.0337,
"percent_delta": -0.1318,
"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.3193,
"after": 0.3,
"delta": -0.0193,
"percent_delta": -0.0604,
"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.395,
"after": 0.222,
"delta": -0.173,
"percent_delta": -0.438,
"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.395,
"after": 0.222,
"delta": -0.173,
"percent_delta": -0.438,
"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": 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": 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": 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.2557,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3193,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.395,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2557,
"delta": 0.0337,
"percent_delta": 0.1518,
"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.3,
"after": 0.3193,
"delta": 0.0193,
"percent_delta": 0.0645,
"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.395,
"delta": 0.173,
"percent_delta": 0.7792,
"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.395,
"delta": 0.173,
"percent_delta": 0.7792,
"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.039,
"after": 0.0,
"delta": -0.039,
"percent_delta": -1.0,
"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.238,
"after": 0.2557,
"delta": 0.0177,
"percent_delta": 0.0744,
"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": 1.03,
"after": 0.0,
"delta": -1.03,
"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.326,
"after": 0.3193,
"delta": -0.0067,
"percent_delta": -0.0206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.45,
"after": 0.0,
"delta": -0.45,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.47,
"after": 0.0,
"delta": -0.47,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.416,
"after": 0.395,
"delta": -0.021,
"percent_delta": -0.0505,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.922,
"after": 1.0,
"delta": 0.078,
"percent_delta": 0.0846,
"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.922,
"after": 1.0,
"delta": 0.078,
"percent_delta": 0.0846,
"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.186 | - |
| predicted_3B | 0.039 | - |
| predicted_AB | 4.300 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.416 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.326 | - |
| predicted_R | 0.450 | - |
| predicted_RBI | 0.470 | - |
| predicted_SLG | 0.416 | - |
| predicted_SO | 0.922 | - |
Final model 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.380 | 0.194 |
| predicted_3B | 0.078 | 0.039 |
| predicted_AB | 9.424 | 5.124 |
| predicted_AVG | 0.249 | 0.011 |
| predicted_BB | 0.883 | 0.467 |
| predicted_H | 2.419 | 1.389 |
| predicted_HBP | 0.298 | - |
| predicted_HR | 0.258 | 0.118 |
| predicted_OBP | 0.330 | 0.004 |
| predicted_R | 0.999 | 0.549 |
| predicted_RBI | 1.039 | 0.569 |
| predicted_SLG | 0.407 | -0.009 |
| predicted_SO | 2.090 | 1.168 |
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.380 | 0.000 |
| predicted_3B | 0.078 | 0.000 |
| predicted_AB | 9.424 | 0.000 |
| predicted_AVG | 0.256 | 0.007 |
| predicted_BB | 0.881 | -0.002 |
| predicted_H | 2.410 | -0.009 |
| predicted_HBP | 0.298 | 0.000 |
| predicted_HR | 0.259 | 0.001 |
| predicted_OBP | 0.319 | -0.010 |
| predicted_R | 0.993 | -0.007 |
| predicted_RBI | 1.032 | -0.007 |
| predicted_SLG | 0.395 | -0.012 |
| predicted_SO | 2.095 | 0.004 |
AB rounded to 9 (raw=9.42), rates preserved: AVG=0.256 HR/AB=0.027
| 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.380 |
| predicted_3B | 0.000 | -0.078 |
| predicted_AB | 9.000 | -0.424 |
| predicted_AVG | 0.222 | -0.034 |
| predicted_BB | 1.000 | 0.119 |
| predicted_H | 2.000 | -0.410 |
| predicted_HR | 0.000 | -0.259 |
| predicted_OBP | 0.300 | -0.019 |
| predicted_R | 1.000 | 0.007 |
| predicted_RBI | 1.000 | -0.032 |
| predicted_SLG | 0.222 | -0.173 |
| predicted_SO | 2.000 | -0.095 |
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 | 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 | 5.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 4.000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 | 0.0000 | 0.2000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 3 | - | 36.000 | 8.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 4.000 | 6.000 | 0.2222 | 0.3000 | 0.2222 | 0.2222 | 0.0000 | 0.1111 | 0.1111 | 0.1667 |
| season | 0.60 | 53 | - | 920.000 | 246.000 | 43.000 | 9.000 | 28.000 | 90.000 | 104.000 | 96.000 | 213.000 | 0.2674 | 0.3487 | 0.4250 | 0.2674 | 0.0304 | 0.0978 | 0.1043 | 0.2315 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6240 |
| predicted_3B | 0.1280 |
| predicted_AB | 15.8970 |
| predicted_AVG | 0.2626 |
| predicted_BB | 1.4730 |
| predicted_H | 4.1740 |
| predicted_HBP | 0.2980 |
| predicted_HR | 0.4070 |
| predicted_OBP | 0.3344 |
| predicted_R | 1.6930 |
| predicted_RBI | 1.7570 |
| predicted_SLG | 0.3947 |
| predicted_SO | 3.5660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1860 | 0.6240 | 0.3795 | model_form_blend |
| predicted_3B | 0.0390 | 0.1280 | 0.0783 | model_form_blend |
| predicted_AB | 4.3000 | 15.8970 | 9.4237 | model_form_blend |
| predicted_AVG | 0.2380 | 0.2626 | 0.2489 | model_form_blend |
| predicted_BB | 0.4160 | 1.4730 | 0.8830 | model_form_blend |
| predicted_H | 1.0300 | 4.1740 | 2.4191 | model_form_blend |
| predicted_HBP | - | 0.2980 | 0.2980 | form_only |
| predicted_HR | 0.1400 | 0.4070 | 0.2580 | model_form_blend |
| predicted_OBP | 0.3260 | 0.3344 | 0.3297 | model_form_blend |
| predicted_R | 0.4500 | 1.6930 | 0.9992 | model_form_blend |
| predicted_RBI | 0.4700 | 1.7570 | 1.0386 | model_form_blend |
| predicted_SLG | 0.4160 | 0.3947 | 0.4066 | model_form_blend |
| predicted_SO | 0.9220 | 3.5660 | 2.0901 | 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 | 1 |
| 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 | 1 |
| 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 | RF |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 607043 |
| playerID | 607043 |
| playerName | Brandon Nimmo |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 19.7 |
| sl_bb_percent | 9.6 |
| sl_woba | 0.345 |
| sl_xwoba | 0.389 |
| sl_xba | 0.299 |
| sl_xslg | 0.523 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 12.0 |
| sl_hard_hit_percent | 51.9 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 10.0 |
| sl_whiff_percent | 22.4 |
| sl_swing_percent | 49.1 |
| at_bat_number | 64.0 |
| ab_pitcher | 687911.0 |
| ab_pitcher_name | King, Bryan |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 664059.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 4.0 |
| ab_event | strikeout |
| ab_event_description | Brandon Nimmo strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_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 | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 91.45 |
| ab_release_spin_rate_avg | 1978.0 |
| ab_effective_speed_avg | 91.925 |
| ab_delta_run_exp_avg | -0.0625 |
| ab_delta_home_win_exp_avg | -0.0225 |
| ab_delta_pitcher_run_exp_avg | 0.0625 |
| ab_bat_speed_avg | 70.1 |
| ab_swing_length_avg | 6.5 |
| ab_release_speed_max | 92.2 |
| ab_release_spin_rate_max | 2028.0 |
| ab_release_speed_min | 91.0 |
| ab_release_spin_rate_min | 1917.0 |
| ab_delta_run_exp_sum | -0.25 |
| ab_delta_home_win_exp_sum | -0.09 |
| ab_delta_pitcher_run_exp_sum | 0.25 |
| 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.305 | 1.000 | 1.000 | Hitting_2B | 0.305 | 0.000 | 0.695 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.070 | 4.000 | 9.000 | Hitting_AB | 3.887 | 4.000 | 0.113 | 0.000 |
| predicted_AVG | 0.255 | 0.250 | 0.333 | Hitting_AVG | 0.299 | 0.250 | -0.049 | 0.000 |
| predicted_BB | 0.315 | 0.000 | 1.000 | Hitting_BB | 0.315 | 0.000 | -0.315 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_H | 1.040 | 1.000 | 3.000 | Hitting_H | 1.163 | 1.000 | -0.163 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.108 | 0.000 | -0.108 | 0.000 |
| predicted_OBP | 0.338 | 0.250 | 0.400 | Hitting_OBP | 0.356 | 0.250 | -0.106 | 0.000 |
| predicted_R | 0.473 | 0.000 | 1.000 | Hitting_R | 0.473 | 0.000 | -0.473 | 0.000 |
| predicted_RBI | 0.390 | 0.000 | 1.000 | Hitting_RBI | 0.433 | 0.000 | -0.433 | 0.000 |
| predicted_SLG | 0.401 | 0.500 | 0.444 | Hitting_SLG | 0.461 | 0.250 | 0.039 | 0.250 |
| predicted_SO | 0.606 | 0.000 | 1.000 | Hitting_SO | 0.606 | 1.000 | -0.606 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_2B: 0.3050 -> 1.0000 (boost 0.6950, better) |
| Biggest Deboost | predicted_SO: 0.6060 -> 0.0000 (deboost -0.6060, 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: 4.0700 -> 8.6314 (boost 4.5614, 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.2708 -> 0.2805 (boost 0.0097, better) | predicted_OBP: 0.3421 -> 0.3334 (deboost -0.0087, worse) | 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 | 6 | 2 | predicted_H: 2.4211 -> 3.0000 (boost 0.5789, better) | predicted_SO: 1.3942 -> 1.0000 (deboost -0.3942, better) | AB rounded to 9 (raw=8.63), rates preserved: AVG=0.281 HR/AB=0.023 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3334 -> 0.4000 (boost 0.0666, better) | - | 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: 9.0000 -> 4.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.4000 -> 0.3334 (deboost -0.0666, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "673962",
"player_name": "Josh Jung",
"position": "3B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.305,
"predicted_3B": 0.0,
"predicted_AB": 4.07,
"predicted_AVG": 0.255,
"predicted_BB": 0.315,
"predicted_H": 1.04,
"predicted_HR": 0.09,
"predicted_OBP": 0.338,
"predicted_R": 0.473,
"predicted_RBI": 0.39,
"predicted_SLG": 0.401,
"predicted_SO": 0.606
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.5832,
"predicted_3B": 0.0009,
"predicted_AB": 8.6314,
"predicted_AVG": 0.2708,
"predicted_BB": 0.6865,
"predicted_H": 2.4306,
"predicted_HBP": 0.122,
"predicted_HR": 0.2001,
"predicted_OBP": 0.3421,
"predicted_R": 0.9929,
"predicted_RBI": 0.817,
"predicted_SLG": 0.4124,
"predicted_SO": 1.3913
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.305,
"after": 0.5832,
"delta": 0.2782,
"percent_delta": 0.9121,
"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.07,
"after": 8.6314,
"delta": 4.5614,
"percent_delta": 1.1207,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2708,
"delta": 0.0158,
"percent_delta": 0.062,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.6865,
"delta": 0.3715,
"percent_delta": 1.1794,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.04,
"after": 2.4306,
"delta": 1.3906,
"percent_delta": 1.3371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.2001,
"delta": 0.1101,
"percent_delta": 1.2233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3421,
"delta": 0.0041,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 0.9929,
"delta": 0.5199,
"percent_delta": 1.0992,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.39,
"after": 0.817,
"delta": 0.427,
"percent_delta": 1.0949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4124,
"delta": 0.0114,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.606,
"after": 1.3913,
"delta": 0.7853,
"percent_delta": 1.2959,
"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.07,
"after": 8.6314,
"delta": 4.5614,
"percent_delta": 1.1207,
"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": 3,
"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.5832,
"predicted_3B": 0.0009,
"predicted_AB": 8.6314,
"predicted_AVG": 0.2805,
"predicted_BB": 0.6851,
"predicted_H": 2.4211,
"predicted_HBP": 0.122,
"predicted_HR": 0.2007,
"predicted_OBP": 0.3334,
"predicted_R": 0.9862,
"predicted_RBI": 0.8115,
"predicted_SLG": 0.418,
"predicted_SO": 1.3942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5832,
"after": 0.5832,
"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.6314,
"after": 8.6314,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2708,
"after": 0.2805,
"delta": 0.0097,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6865,
"after": 0.6851,
"delta": -0.0014,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4306,
"after": 2.4211,
"delta": -0.0095,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.122,
"after": 0.122,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2001,
"after": 0.2007,
"delta": 0.0006,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3421,
"after": 0.3334,
"delta": -0.0087,
"percent_delta": -0.0254,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9929,
"after": 0.9862,
"delta": -0.0067,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.817,
"after": 0.8115,
"delta": -0.0055,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4124,
"after": 0.418,
"delta": 0.0056,
"percent_delta": 0.0136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3913,
"after": 1.3942,
"delta": 0.0029,
"percent_delta": 0.0021,
"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.2708,
"after": 0.2805,
"delta": 0.0097,
"percent_delta": 0.0358,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3421,
"after": 0.3334,
"delta": -0.0087,
"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 9 (raw=8.63), rates preserved: AVG=0.281 HR/AB=0.023",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.5832,
"after": 1.0,
"delta": 0.4168,
"percent_delta": 0.7147,
"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": 8.6314,
"after": 9.0,
"delta": 0.3686,
"percent_delta": 0.0427,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6851,
"after": 1.0,
"delta": 0.3149,
"percent_delta": 0.4596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4211,
"after": 3.0,
"delta": 0.5789,
"percent_delta": 0.2391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.122,
"after": 0.0,
"delta": -0.122,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2007,
"after": 0.0,
"delta": -0.2007,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8115,
"after": 1.0,
"delta": 0.1885,
"percent_delta": 0.2323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3942,
"after": 1.0,
"delta": -0.3942,
"percent_delta": -0.2827,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 5,
"deboosted_metrics": 3,
"better_metrics": 6,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.4211,
"after": 3.0,
"delta": 0.5789,
"percent_delta": 0.2391,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.3942,
"after": 1.0,
"delta": -0.3942,
"percent_delta": -0.2827,
"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": 9.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9862,
"after": 1.0,
"delta": 0.0138,
"percent_delta": 0.014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_AVG": 0.333,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.444,
"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": 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.2805,
"after": 0.333,
"delta": 0.0525,
"percent_delta": 0.1872,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3334,
"after": 0.4,
"delta": 0.0666,
"percent_delta": 0.1998,
"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.418,
"after": 0.444,
"delta": 0.026,
"percent_delta": 0.0622,
"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.3334,
"after": 0.4,
"delta": 0.0666,
"percent_delta": 0.1998,
"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": 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": 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": 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": 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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2805,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3334,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.418,
"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.333,
"after": 0.2805,
"delta": -0.0525,
"percent_delta": -0.1577,
"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.3334,
"delta": -0.0666,
"percent_delta": -0.1665,
"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.444,
"after": 0.418,
"delta": -0.026,
"percent_delta": -0.0585,
"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.4,
"after": 0.3334,
"delta": -0.0666,
"percent_delta": -0.1665,
"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.305,
"after": 1.0,
"delta": 0.695,
"percent_delta": 2.2787,
"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.07,
"after": 4.0,
"delta": -0.07,
"percent_delta": -0.0172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2805,
"delta": 0.0255,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.315,
"after": 0.0,
"delta": -0.315,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.338,
"after": 0.3334,
"delta": -0.0046,
"percent_delta": -0.0136,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"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.401,
"after": 0.418,
"delta": 0.017,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.606,
"after": 0.0,
"delta": -0.606,
"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_2B",
"before": 0.305,
"after": 1.0,
"delta": 0.695,
"percent_delta": 2.2787,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.606,
"after": 0.0,
"delta": -0.606,
"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.305 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.070 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.315 | - |
| predicted_H | 1.040 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.338 | - |
| predicted_R | 0.473 | - |
| predicted_RBI | 0.390 | - |
| predicted_SLG | 0.401 | - |
| predicted_SO | 0.606 | - |
Final model 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.278 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.631 | 4.561 |
| predicted_AVG | 0.271 | 0.016 |
| predicted_BB | 0.686 | 0.371 |
| predicted_H | 2.431 | 1.391 |
| predicted_HBP | 0.122 | - |
| predicted_HR | 0.200 | 0.110 |
| predicted_OBP | 0.342 | 0.004 |
| predicted_R | 0.993 | 0.520 |
| predicted_RBI | 0.817 | 0.427 |
| predicted_SLG | 0.412 | 0.011 |
| predicted_SO | 1.391 | 0.785 |
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 | 8.631 | 0.000 |
| predicted_AVG | 0.281 | 0.010 |
| predicted_BB | 0.685 | -0.001 |
| predicted_H | 2.421 | -0.010 |
| predicted_HBP | 0.122 | 0.000 |
| predicted_HR | 0.201 | 0.001 |
| predicted_OBP | 0.333 | -0.009 |
| predicted_R | 0.986 | -0.007 |
| predicted_RBI | 0.811 | -0.005 |
| predicted_SLG | 0.418 | 0.006 |
| predicted_SO | 1.394 | 0.003 |
AB rounded to 9 (raw=8.63), rates preserved: AVG=0.281 HR/AB=0.023
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 1.000 | - |
| H | 3.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 | 9.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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.001 |
| predicted_AB | 9.000 | 0.369 |
| predicted_AVG | 0.333 | 0.052 |
| predicted_BB | 1.000 | 0.315 |
| predicted_H | 3.000 | 0.579 |
| predicted_HR | 0.000 | -0.201 |
| predicted_OBP | 0.400 | 0.067 |
| predicted_R | 1.000 | 0.014 |
| predicted_RBI | 1.000 | 0.189 |
| predicted_SLG | 0.444 | 0.026 |
| predicted_SO | 1.000 | -0.394 |
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 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.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 | 2 | - | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 1.000 | 4.000 | 0.2632 | 0.3000 | 0.2632 | 0.2632 | 0.0000 | 0.0000 | 0.0526 | 0.2105 |
| last_10 | 0.20 | 3 | - | 32.000 | 8.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 6.000 | 0.2500 | 0.3333 | 0.2500 | 0.2500 | 0.0000 | 0.0000 | 0.1250 | 0.1875 |
| season | 0.60 | 50 | - | 789.000 | 236.000 | 62.000 | 0.000 | 22.000 | 88.000 | 96.000 | 64.000 | 123.000 | 0.2991 | 0.3561 | 0.4613 | 0.2991 | 0.0279 | 0.1115 | 0.0811 | 0.1559 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9370 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.4320 |
| predicted_AVG | 0.2910 |
| predicted_BB | 1.1590 |
| predicted_H | 4.1990 |
| predicted_HBP | 0.1220 |
| predicted_HR | 0.3400 |
| predicted_OBP | 0.3474 |
| predicted_R | 1.6540 |
| predicted_RBI | 1.3600 |
| predicted_SLG | 0.4269 |
| predicted_SO | 2.3900 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3050 | 0.9370 | 0.5832 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0700 | 14.4320 | 8.6314 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2910 | 0.2708 | model_form_blend |
| predicted_BB | 0.3150 | 1.1590 | 0.6865 | model_form_blend |
| predicted_H | 1.0400 | 4.1990 | 2.4306 | model_form_blend |
| predicted_HBP | - | 0.1220 | 0.1220 | form_only |
| predicted_HR | 0.0900 | 0.3400 | 0.2001 | model_form_blend |
| predicted_OBP | 0.3380 | 0.3474 | 0.3421 | model_form_blend |
| predicted_R | 0.4730 | 1.6540 | 0.9929 | model_form_blend |
| predicted_RBI | 0.3900 | 1.3600 | 0.8170 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4269 | 0.4124 | model_form_blend |
| predicted_SO | 0.6060 | 2.3900 | 1.3913 | 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 | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.299 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 3B |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 673962 |
| playerID | 673962 |
| playerName | Josh Jung |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.362 |
| sl_xwoba | 0.367 |
| sl_xba | 0.313 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 39.5 |
| sl_barrel_batted_rate | 5.7 |
| sl_hard_hit_percent | 46.5 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 17.1 |
| sl_swing_percent | 47.3 |
| at_bat_number | 65.0 |
| ab_pitcher | 660853.0 |
| ab_pitcher_name | De Los Santos, Enyel |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 664059.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Josh Jung pops out to first baseman Christian Walker in foul territory. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 79.6 |
| ab_launch_angle_last | 68.0 |
| ab_hit_distance_last | 129.0 |
| ab_estimated_ba_last | 0.001 |
| ab_estimated_woba_last | 0.0 |
| ab_estimated_slg_last | 0.001 |
| 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 | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 89.86666666666667 |
| ab_release_spin_rate_avg | 2177.0 |
| ab_effective_speed_avg | 89.73333333333333 |
| ab_launch_speed_avg | 74.9 |
| ab_launch_angle_avg | 59.0 |
| ab_delta_run_exp_avg | -0.084 |
| ab_delta_home_win_exp_avg | -0.0276666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.084 |
| ab_bat_speed_avg | 69.5 |
| ab_swing_length_avg | 6.95 |
| ab_launch_speed_max | 79.6 |
| ab_hit_distance_sc_max | 192.0 |
| ab_release_speed_max | 95.4 |
| ab_release_spin_rate_max | 2246.0 |
| ab_release_speed_min | 87.0 |
| ab_release_spin_rate_min | 2109.0 |
| ab_delta_run_exp_sum | -0.252 |
| ab_delta_home_win_exp_sum | -0.083 |
| ab_delta_pitcher_run_exp_sum | 0.252 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.094 | 0.000 | 0.000 | Hitting_2B | 0.093 | 0.000 | -0.093 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.824 | 3.000 | 5.000 | Hitting_AB | 2.791 | 3.000 | 0.209 | 0.000 |
| predicted_AVG | 0.276 | 0.000 | 0.200 | Hitting_AVG | 0.246 | 0.000 | -0.246 | 0.000 |
| predicted_BB | 0.435 | 1.000 | 1.000 | Hitting_BB | 0.442 | 0.000 | 0.558 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.081 | 0.000 | -0.081 | 0.000 |
| predicted_H | 0.740 | 0.000 | 1.000 | Hitting_H | 0.686 | 0.000 | -0.686 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.353 | 0.250 | 0.333 | Hitting_OBP | 0.386 | 0.000 | -0.136 | 0.250 |
| predicted_R | 0.353 | 1.000 | 1.000 | Hitting_R | 0.360 | 0.000 | 0.640 | 1.000 |
| predicted_RBI | 0.290 | 1.000 | 0.000 | Hitting_RBI | 0.256 | 0.000 | 0.744 | 1.000 |
| predicted_SLG | 0.349 | 0.000 | 0.200 | Hitting_SLG | 0.279 | 0.000 | -0.279 | 0.000 |
| predicted_SO | 0.541 | 1.000 | 1.000 | Hitting_SO | 0.535 | 0.000 | 0.465 | 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_RBI: 0.2900 -> 1.0000 (boost 0.7100, 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 | 7 | 3 | 6 | 4 | predicted_AB: 2.8240 -> 4.9606 (boost 2.1366, better) | predicted_SLG: 0.3490 -> 0.3067 (deboost -0.0423, 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.3067 -> 0.2844 (deboost -0.0223, 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_BB: 0.7455 -> 1.0000 (boost 0.2545, better) | predicted_RBI: 0.4360 -> 0.0000 (deboost -0.4360, worse) | AB rounded to 5 (raw=4.96), rates preserved: AVG=0.226 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6207 -> 1.0000 (boost 0.3793, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3267 -> 0.3330 (boost 0.0063, better) | predicted_SLG: 0.2844 -> 0.2000 (deboost -0.0844, 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_RBI: 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.2844 (boost 0.0844, better) | predicted_OBP: 0.3330 -> 0.3267 (deboost -0.0063, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "696030",
"player_name": "Alejandro Osuna",
"position": "LF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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": 2.824,
"predicted_AVG": 0.276,
"predicted_BB": 0.435,
"predicted_H": 0.74,
"predicted_HR": 0.06,
"predicted_OBP": 0.353,
"predicted_R": 0.353,
"predicted_RBI": 0.29,
"predicted_SLG": 0.349,
"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.1532,
"predicted_3B": 0.0013,
"predicted_AB": 4.9606,
"predicted_AVG": 0.2477,
"predicted_BB": 0.7471,
"predicted_H": 1.1232,
"predicted_HBP": 0.429,
"predicted_HR": 0.0452,
"predicted_OBP": 0.348,
"predicted_R": 0.6249,
"predicted_RBI": 0.4389,
"predicted_SLG": 0.3067,
"predicted_SO": 0.8798
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.094,
"after": 0.1532,
"delta": 0.0592,
"percent_delta": 0.6298,
"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.824,
"after": 4.9606,
"delta": 2.1366,
"percent_delta": 0.7566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2477,
"delta": -0.0283,
"percent_delta": -0.1025,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 0.7471,
"delta": 0.3121,
"percent_delta": 0.7175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.74,
"after": 1.1232,
"delta": 0.3832,
"percent_delta": 0.5178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0452,
"delta": -0.0148,
"percent_delta": -0.2467,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.348,
"delta": -0.005,
"percent_delta": -0.0142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 0.6249,
"delta": 0.2719,
"percent_delta": 0.7703,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 0.4389,
"delta": 0.1489,
"percent_delta": 0.5134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3067,
"delta": -0.0423,
"percent_delta": -0.1212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.541,
"after": 0.8798,
"delta": 0.3388,
"percent_delta": 0.6262,
"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.824,
"after": 4.9606,
"delta": 2.1366,
"percent_delta": 0.7566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.3067,
"delta": -0.0423,
"percent_delta": -0.1212,
"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": 3,
"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.1532,
"predicted_3B": 0.0013,
"predicted_AB": 4.9606,
"predicted_AVG": 0.2255,
"predicted_BB": 0.7455,
"predicted_H": 1.1188,
"predicted_HBP": 0.429,
"predicted_HR": 0.0453,
"predicted_OBP": 0.3267,
"predicted_R": 0.6207,
"predicted_RBI": 0.436,
"predicted_SLG": 0.2844,
"predicted_SO": 0.8816
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1532,
"after": 0.1532,
"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.9606,
"after": 4.9606,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2477,
"after": 0.2255,
"delta": -0.0222,
"percent_delta": -0.0896,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7471,
"after": 0.7455,
"delta": -0.0016,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1232,
"after": 1.1188,
"delta": -0.0044,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.429,
"after": 0.429,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0452,
"after": 0.0453,
"delta": 0.0001,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3267,
"delta": -0.0213,
"percent_delta": -0.0612,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6249,
"after": 0.6207,
"delta": -0.0042,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4389,
"after": 0.436,
"delta": -0.0029,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3067,
"after": 0.2844,
"delta": -0.0223,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8798,
"after": 0.8816,
"delta": 0.0018,
"percent_delta": 0.002,
"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.3067,
"after": 0.2844,
"delta": -0.0223,
"percent_delta": -0.0727,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.96), rates preserved: AVG=0.226 HR/AB=0.009",
"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.1532,
"after": 0.0,
"delta": -0.1532,
"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.9606,
"after": 5.0,
"delta": 0.0394,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7455,
"after": 1.0,
"delta": 0.2545,
"percent_delta": 0.3414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1188,
"after": 1.0,
"delta": -0.1188,
"percent_delta": -0.1062,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.429,
"after": 0.0,
"delta": -0.429,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0453,
"after": 0.0,
"delta": -0.0453,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8816,
"after": 1.0,
"delta": 0.1184,
"percent_delta": 0.1343,
"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_BB",
"before": 0.7455,
"after": 1.0,
"delta": 0.2545,
"percent_delta": 0.3414,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.436,
"after": 0.0,
"delta": -0.436,
"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.6207,
"after": 1.0,
"delta": 0.3793,
"percent_delta": 0.6111,
"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.6207,
"after": 1.0,
"delta": 0.3793,
"percent_delta": 0.6111,
"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.2255,
"after": 0.2,
"delta": -0.0255,
"percent_delta": -0.1131,
"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.3267,
"after": 0.333,
"delta": 0.0063,
"percent_delta": 0.0193,
"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.2844,
"after": 0.2,
"delta": -0.0844,
"percent_delta": -0.2968,
"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.3267,
"after": 0.333,
"delta": 0.0063,
"percent_delta": 0.0193,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2844,
"after": 0.2,
"delta": -0.0844,
"percent_delta": -0.2968,
"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": 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": 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": 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": 3,
"boosted_metrics": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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.2255,
"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.3267,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2844,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2255,
"delta": 0.0255,
"percent_delta": 0.1277,
"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.3267,
"delta": -0.0063,
"percent_delta": -0.0188,
"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.2844,
"delta": 0.0844,
"percent_delta": 0.4218,
"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.2844,
"delta": 0.0844,
"percent_delta": 0.4218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3267,
"delta": -0.0063,
"percent_delta": -0.0188,
"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": 2.824,
"after": 3.0,
"delta": 0.176,
"percent_delta": 0.0623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.276,
"after": 0.2255,
"delta": -0.0505,
"percent_delta": -0.183,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.435,
"after": 1.0,
"delta": 0.565,
"percent_delta": 1.2989,
"direction": "boost",
"projection_effect": "better",
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.353,
"after": 0.3267,
"delta": -0.0263,
"percent_delta": -0.0745,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.353,
"after": 1.0,
"delta": 0.647,
"percent_delta": 1.8329,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.349,
"after": 0.2844,
"delta": -0.0646,
"percent_delta": -0.1851,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.541,
"after": 1.0,
"delta": 0.459,
"percent_delta": 0.8484,
"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_RBI",
"before": 0.29,
"after": 1.0,
"delta": 0.71,
"percent_delta": 2.4483,
"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.094 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.824 | - |
| predicted_AVG | 0.276 | - |
| predicted_BB | 0.435 | - |
| predicted_H | 0.740 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.353 | - |
| predicted_R | 0.353 | - |
| predicted_RBI | 0.290 | - |
| predicted_SLG | 0.349 | - |
| 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.153 | 0.059 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 4.961 | 2.137 |
| predicted_AVG | 0.248 | -0.028 |
| predicted_BB | 0.747 | 0.312 |
| predicted_H | 1.123 | 0.383 |
| predicted_HBP | 0.429 | - |
| predicted_HR | 0.045 | -0.015 |
| predicted_OBP | 0.348 | -0.005 |
| predicted_R | 0.625 | 0.272 |
| predicted_RBI | 0.439 | 0.149 |
| predicted_SLG | 0.307 | -0.042 |
| predicted_SO | 0.880 | 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.153 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 4.961 | 0.000 |
| predicted_AVG | 0.226 | -0.022 |
| predicted_BB | 0.746 | -0.002 |
| predicted_H | 1.119 | -0.004 |
| predicted_HBP | 0.429 | 0.000 |
| predicted_HR | 0.045 | 0.000 |
| predicted_OBP | 0.327 | -0.021 |
| predicted_R | 0.621 | -0.004 |
| predicted_RBI | 0.436 | -0.003 |
| predicted_SLG | 0.284 | -0.022 |
| predicted_SO | 0.882 | 0.002 |
AB rounded to 5 (raw=4.96), rates preserved: AVG=0.226 HR/AB=0.009
| 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.153 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | 0.039 |
| predicted_AVG | 0.200 | -0.025 |
| predicted_BB | 1.000 | 0.254 |
| predicted_H | 1.000 | -0.119 |
| predicted_HR | 0.000 | -0.045 |
| predicted_OBP | 0.333 | 0.006 |
| predicted_R | 1.000 | 0.379 |
| predicted_RBI | 0.000 | -0.436 |
| predicted_SLG | 0.200 | -0.084 |
| predicted_SO | 1.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 | 3.000 | -2.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 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 | 2 | - | 15.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 0.0000 | 0.1176 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1333 | 0.0000 |
| last_10 | 0.20 | 3 | - | 30.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 7.000 | 3.000 | 0.0000 | 0.1892 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2333 | 0.1000 |
| season | 0.60 | 29 | - | 240.000 | 59.000 | 8.000 | 0.000 | 0.000 | 22.000 | 30.000 | 37.000 | 46.000 | 0.2458 | 0.3844 | 0.2792 | 0.2458 | 0.0000 | 0.0917 | 0.1542 | 0.1917 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2340 |
| predicted_3B | 0.0030 |
| predicted_AB | 7.8760 |
| predicted_AVG | 0.2090 |
| predicted_BB | 1.1730 |
| predicted_H | 1.6460 |
| predicted_HBP | 0.4290 |
| predicted_HR | 0.0250 |
| predicted_OBP | 0.3411 |
| predicted_R | 0.9960 |
| predicted_RBI | 0.6420 |
| predicted_SLG | 0.2489 |
| predicted_SO | 1.3420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0940 | 0.2340 | 0.1532 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 2.8240 | 7.8760 | 4.9606 | model_form_blend |
| predicted_AVG | 0.2760 | 0.2090 | 0.2477 | model_form_blend |
| predicted_BB | 0.4350 | 1.1730 | 0.7471 | model_form_blend |
| predicted_H | 0.7400 | 1.6460 | 1.1232 | model_form_blend |
| predicted_HBP | - | 0.4290 | 0.4290 | form_only |
| predicted_HR | 0.0600 | 0.0250 | 0.0452 | model_form_blend |
| predicted_OBP | 0.3530 | 0.3411 | 0.3480 | model_form_blend |
| predicted_R | 0.3530 | 0.9960 | 0.6249 | model_form_blend |
| predicted_RBI | 0.2900 | 0.6420 | 0.4389 | model_form_blend |
| predicted_SLG | 0.3490 | 0.2489 | 0.3067 | model_form_blend |
| predicted_SO | 0.5410 | 1.3420 | 0.8798 | 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 | 86 |
| Season rows before report date | 86 |
| Report year | 2026 |
| Profile rows used | 85 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| 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.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 | LF |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 696030 |
| playerID | 696030 |
| playerName | Alejandro Osuna |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 15.5 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.348 |
| sl_xwoba | 0.35 |
| sl_xba | 0.277 |
| sl_xslg | 0.334 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 6.2 |
| sl_whiff_percent | 16.5 |
| sl_swing_percent | 47.4 |
| at_bat_number | 39.0 |
| ab_pitcher | 681347.0 |
| ab_pitcher_name | Burrows, Mike |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 5.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Alejandro Osuna lines out to left fielder Taylor Trammell. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 83.3 |
| ab_launch_angle_last | 26.0 |
| ab_hit_distance_last | 277.0 |
| ab_estimated_ba_last | 0.146 |
| ab_estimated_woba_last | 0.151 |
| ab_estimated_slg_last | 0.216 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 88.03333333333335 |
| ab_release_spin_rate_avg | 2543.0 |
| ab_effective_speed_avg | 87.93333333333334 |
| ab_launch_speed_avg | 83.3 |
| ab_launch_angle_avg | 26.0 |
| ab_delta_run_exp_avg | -0.0813333333333333 |
| ab_delta_home_win_exp_avg | -0.005 |
| ab_delta_pitcher_run_exp_avg | 0.0813333333333333 |
| ab_bat_speed_avg | 74.3 |
| ab_swing_length_avg | 7.2 |
| ab_launch_speed_max | 83.3 |
| ab_hit_distance_sc_max | 277.0 |
| ab_release_speed_max | 95.3 |
| ab_release_spin_rate_max | 2894.0 |
| ab_release_speed_min | 78.0 |
| ab_release_spin_rate_min | 2217.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | -0.015 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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 | 2.968 | 4.000 | 6.000 | Hitting_AB | 2.948 | 4.000 | 1.052 | 0.000 |
| predicted_AVG | 0.269 | 0.250 | 0.333 | Hitting_AVG | 0.267 | 0.750 | -0.017 | -0.500 |
| predicted_BB | 0.500 | 0.000 | 1.000 | Hitting_BB | 0.503 | 0.000 | -0.503 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.300 | 1.000 | 2.000 | Hitting_H | 0.787 | 3.000 | 0.213 | -2.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.148 | 2.000 | -0.148 | -2.000 |
| predicted_OBP | 0.331 | 0.250 | 0.429 | Hitting_OBP | 0.372 | 0.750 | -0.122 | -0.500 |
| predicted_R | 0.455 | 0.000 | 1.000 | Hitting_R | 0.452 | 3.000 | -0.452 | -3.000 |
| predicted_RBI | 0.200 | 0.000 | 1.000 | Hitting_RBI | 0.394 | 2.000 | -0.394 | -2.000 |
| predicted_SLG | 0.497 | 0.250 | 0.333 | Hitting_SLG | 0.460 | 2.250 | -0.210 | -2.000 |
| predicted_SO | 0.799 | 0.000 | 1.000 | Hitting_SO | 0.794 | 0.000 | -0.794 | 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_AB: 2.9680 -> 4.0000 (boost 1.0320, better) |
| Biggest Deboost | predicted_SO: 0.7990 -> 0.0000 (deboost -0.7990, 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: 2.9680 -> 5.6530 (boost 2.6850, 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.2888 -> 0.2502 (deboost -0.0386, 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_H: 1.4146 -> 2.0000 (boost 0.5854, better) | predicted_HR: 0.4662 -> 0.0000 (deboost -0.4662, worse) | AB rounded to 6 (raw=5.65), rates preserved: AVG=0.250 HR/AB=0.082 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1176 -> 1.0000 (deboost -0.1176, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2502 -> 0.3330 (boost 0.0828, better) | predicted_SLG: 0.5352 -> 0.3330 (deboost -0.2022, 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.5352 (boost 0.2022, better) | predicted_AVG: 0.3330 -> 0.2502 (deboost -0.0828, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "592626",
"player_name": "Joc Pederson",
"position": "DH",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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": 2.968,
"predicted_AVG": 0.269,
"predicted_BB": 0.5,
"predicted_H": 0.3,
"predicted_HR": 0.08,
"predicted_OBP": 0.331,
"predicted_R": 0.455,
"predicted_RBI": 0.2,
"predicted_SLG": 0.497,
"predicted_SO": 0.799
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2104,
"predicted_3B": 0.0009,
"predicted_AB": 5.653,
"predicted_AVG": 0.2888,
"predicted_BB": 0.8387,
"predicted_H": 1.4201,
"predicted_HBP": 0.068,
"predicted_HR": 0.4648,
"predicted_OBP": 0.3615,
"predicted_R": 1.1251,
"predicted_RBI": 0.9001,
"predicted_SLG": 0.5709,
"predicted_SO": 1.3856
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.123,
"after": 0.2104,
"delta": 0.0874,
"percent_delta": 0.7106,
"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.968,
"after": 5.653,
"delta": 2.685,
"percent_delta": 0.9046,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2888,
"delta": 0.0198,
"percent_delta": 0.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.8387,
"delta": 0.3387,
"percent_delta": 0.6774,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.4201,
"delta": 1.1201,
"percent_delta": 3.7337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.4648,
"delta": 0.3848,
"percent_delta": 4.81,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3615,
"delta": 0.0305,
"percent_delta": 0.0921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 1.1251,
"delta": 0.6701,
"percent_delta": 1.4727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2,
"after": 0.9001,
"delta": 0.7001,
"percent_delta": 3.5005,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.497,
"after": 0.5709,
"delta": 0.0739,
"percent_delta": 0.1487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.799,
"after": 1.3856,
"delta": 0.5866,
"percent_delta": 0.7342,
"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.968,
"after": 5.653,
"delta": 2.685,
"percent_delta": 0.9046,
"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": 3,
"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.2104,
"predicted_3B": 0.0009,
"predicted_AB": 5.653,
"predicted_AVG": 0.2502,
"predicted_BB": 0.8369,
"predicted_H": 1.4146,
"predicted_HBP": 0.068,
"predicted_HR": 0.4662,
"predicted_OBP": 0.3469,
"predicted_R": 1.1176,
"predicted_RBI": 0.8941,
"predicted_SLG": 0.5352,
"predicted_SO": 1.3885
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2104,
"after": 0.2104,
"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.2888,
"after": 0.2502,
"delta": -0.0386,
"percent_delta": -0.1337,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8387,
"after": 0.8369,
"delta": -0.0018,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4201,
"after": 1.4146,
"delta": -0.0055,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.4648,
"after": 0.4662,
"delta": 0.0014,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3615,
"after": 0.3469,
"delta": -0.0146,
"percent_delta": -0.0404,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1251,
"after": 1.1176,
"delta": -0.0075,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9001,
"after": 0.8941,
"delta": -0.006,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5709,
"after": 0.5352,
"delta": -0.0357,
"percent_delta": -0.0625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3856,
"after": 1.3885,
"delta": 0.0029,
"percent_delta": 0.0021,
"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.2888,
"after": 0.2502,
"delta": -0.0386,
"percent_delta": -0.1337,
"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.250 HR/AB=0.082",
"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.2104,
"after": 0.0,
"delta": -0.2104,
"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.8369,
"after": 1.0,
"delta": 0.1631,
"percent_delta": 0.1949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4146,
"after": 2.0,
"delta": 0.5854,
"percent_delta": 0.4138,
"direction": "boost",
"projection_effect": "better",
"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.4662,
"after": 0.0,
"delta": -0.4662,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8941,
"after": 1.0,
"delta": 0.1059,
"percent_delta": 0.1184,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3885,
"after": 1.0,
"delta": -0.3885,
"percent_delta": -0.2798,
"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_H",
"before": 1.4146,
"after": 2.0,
"delta": 0.5854,
"percent_delta": 0.4138,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4662,
"after": 0.0,
"delta": -0.4662,
"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": 1.1176,
"after": 1.0,
"delta": -0.1176,
"percent_delta": -0.1052,
"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.1176,
"after": 1.0,
"delta": -0.1176,
"percent_delta": -0.1052,
"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.2502,
"after": 0.333,
"delta": 0.0828,
"percent_delta": 0.3309,
"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.3469,
"after": 0.429,
"delta": 0.0821,
"percent_delta": 0.2367,
"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.5352,
"after": 0.333,
"delta": -0.2022,
"percent_delta": -0.3778,
"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.2502,
"after": 0.333,
"delta": 0.0828,
"percent_delta": 0.3309,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5352,
"after": 0.333,
"delta": -0.2022,
"percent_delta": -0.3778,
"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": 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": 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.2502,
"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.3469,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5352,
"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.2502,
"delta": -0.0828,
"percent_delta": -0.2486,
"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.3469,
"delta": -0.0821,
"percent_delta": -0.1913,
"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.5352,
"delta": 0.2022,
"percent_delta": 0.6072,
"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.5352,
"delta": 0.2022,
"percent_delta": 0.6072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2502,
"delta": -0.0828,
"percent_delta": -0.2486,
"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.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": 2.968,
"after": 4.0,
"delta": 1.032,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2502,
"delta": -0.0188,
"percent_delta": -0.0699,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5,
"after": 0.0,
"delta": -0.5,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.3,
"after": 1.0,
"delta": 0.7,
"percent_delta": 2.3333,
"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.331,
"after": 0.3469,
"delta": 0.0159,
"percent_delta": 0.048,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"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.497,
"after": 0.5352,
"delta": 0.0382,
"percent_delta": 0.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.799,
"after": 0.0,
"delta": -0.799,
"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": 2.968,
"after": 4.0,
"delta": 1.032,
"percent_delta": 0.3477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.799,
"after": 0.0,
"delta": -0.799,
"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.123 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.968 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.500 | - |
| predicted_H | 0.300 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.455 | - |
| predicted_RBI | 0.200 | - |
| predicted_SLG | 0.497 | - |
| predicted_SO | 0.799 | - |
Final model 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.087 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.653 | 2.685 |
| predicted_AVG | 0.289 | 0.020 |
| predicted_BB | 0.839 | 0.339 |
| predicted_H | 1.420 | 1.120 |
| predicted_HBP | 0.068 | - |
| predicted_HR | 0.465 | 0.385 |
| predicted_OBP | 0.361 | 0.030 |
| predicted_R | 1.125 | 0.670 |
| predicted_RBI | 0.900 | 0.700 |
| predicted_SLG | 0.571 | 0.074 |
| predicted_SO | 1.386 | 0.587 |
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.001 | 0.000 |
| predicted_AB | 5.653 | 0.000 |
| predicted_AVG | 0.250 | -0.039 |
| predicted_BB | 0.837 | -0.002 |
| predicted_H | 1.415 | -0.005 |
| predicted_HBP | 0.068 | 0.000 |
| predicted_HR | 0.466 | 0.001 |
| predicted_OBP | 0.347 | -0.015 |
| predicted_R | 1.118 | -0.008 |
| predicted_RBI | 0.894 | -0.006 |
| predicted_SLG | 0.535 | -0.036 |
| predicted_SO | 1.389 | 0.003 |
AB rounded to 6 (raw=5.65), rates preserved: AVG=0.250 HR/AB=0.082
| 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.210 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.347 |
| predicted_AVG | 0.333 | 0.083 |
| predicted_BB | 1.000 | 0.163 |
| predicted_H | 2.000 | 0.585 |
| predicted_HR | 0.000 | -0.466 |
| predicted_OBP | 0.429 | 0.082 |
| predicted_R | 1.000 | -0.118 |
| predicted_RBI | 1.000 | 0.106 |
| predicted_SLG | 0.333 | -0.202 |
| predicted_SO | 1.000 | -0.389 |
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 | -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 | 13.000 | 0.000 | 0.000 | 9.000 | 11.000 | 13.000 | 0.000 | 1.000 | 0.6500 | 0.6500 | 2.0000 | 0.6500 | 0.4500 | 0.5500 | 0.0000 | 0.0500 |
| last_10 | 0.20 | 3 | - | 38.000 | 16.000 | 0.000 | 0.000 | 12.000 | 20.000 | 16.000 | 2.000 | 4.000 | 0.4211 | 0.4500 | 1.3684 | 0.4210 | 0.3158 | 0.5263 | 0.0526 | 0.1053 |
| season | 0.60 | 50 | - | 457.000 | 122.000 | 19.000 | 0.000 | 23.000 | 61.000 | 70.000 | 77.000 | 123.000 | 0.2670 | 0.3704 | 0.4595 | 0.2670 | 0.0503 | 0.1335 | 0.1685 | 0.2692 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3240 |
| predicted_3B | 0.0020 |
| predicted_AB | 9.1430 |
| predicted_AVG | 0.3146 |
| predicted_BB | 1.2790 |
| predicted_H | 2.8760 |
| predicted_HBP | 0.0680 |
| predicted_HR | 0.9650 |
| predicted_OBP | 0.4011 |
| predicted_R | 1.9960 |
| predicted_RBI | 1.8100 |
| predicted_SLG | 0.6670 |
| predicted_SO | 2.1480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1230 | 0.3240 | 0.2104 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 2.9680 | 9.1430 | 5.6530 | model_form_blend |
| predicted_AVG | 0.2690 | 0.3146 | 0.2888 | model_form_blend |
| predicted_BB | 0.5000 | 1.2790 | 0.8387 | model_form_blend |
| predicted_H | 0.3000 | 2.8760 | 1.4201 | model_form_blend |
| predicted_HBP | - | 0.0680 | 0.0680 | form_only |
| predicted_HR | 0.0800 | 0.9650 | 0.4648 | model_form_blend |
| predicted_OBP | 0.3310 | 0.4011 | 0.3615 | model_form_blend |
| predicted_R | 0.4550 | 1.9960 | 1.1251 | model_form_blend |
| predicted_RBI | 0.2000 | 1.8100 | 0.9001 | model_form_blend |
| predicted_SLG | 0.4970 | 0.6670 | 0.5709 | model_form_blend |
| predicted_SO | 0.7990 | 2.1480 | 1.3856 | 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 | 155 |
| Season rows before report date | 155 |
| 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| 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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 2 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 9 |
| 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 592626 |
| playerID | 592626 |
| playerName | Joc Pederson |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 15.1 |
| sl_woba | 0.328 |
| sl_xwoba | 0.345 |
| sl_xba | 0.243 |
| sl_xslg | 0.389 |
| sl_sweet_spot_percent | 32.3 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 48.4 |
| sl_exit_velocity_avg | 91.6 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 31.3 |
| sl_swing_percent | 43.8 |
| at_bat_number | 62.0 |
| ab_pitcher | 687911.0 |
| ab_pitcher_name | King, Bryan |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| 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 | 4.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 4.0 |
| ab_event | home_run |
| ab_event_description | Joc Pederson homers (6) on a line drive to right center field. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 103.6 |
| ab_launch_angle_last | 21.0 |
| ab_hit_distance_last | 402.0 |
| ab_estimated_ba_last | 0.657 |
| ab_estimated_woba_last | 0.954 |
| ab_estimated_slg_last | 1.624 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 86.15 |
| ab_release_spin_rate_avg | 2159.75 |
| ab_effective_speed_avg | 86.675 |
| ab_launch_speed_avg | 103.6 |
| ab_launch_angle_avg | 21.0 |
| ab_delta_run_exp_avg | 0.2785 |
| ab_delta_home_win_exp_avg | 0.03525 |
| ab_delta_pitcher_run_exp_avg | -0.2785 |
| ab_launch_speed_max | 103.6 |
| ab_hit_distance_sc_max | 402.0 |
| ab_release_speed_max | 92.0 |
| ab_release_spin_rate_max | 2393.0 |
| ab_release_speed_min | 80.4 |
| ab_release_spin_rate_min | 1935.0 |
| ab_delta_run_exp_sum | 1.114 |
| ab_delta_home_win_exp_sum | 0.141 |
| ab_delta_pitcher_run_exp_sum | -1.114 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.045 | 0.000 | 0.000 | Hitting_2B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.420 | 3.000 | 6.000 | Hitting_AB | 3.382 | 2.000 | -0.382 | 1.000 |
| predicted_AVG | 0.222 | 0.333 | 0.167 | Hitting_AVG | 0.193 | 0.000 | 0.141 | 0.333 |
| predicted_BB | 0.352 | 0.000 | 1.000 | Hitting_BB | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.250 | 1.000 | 1.000 | Hitting_H | 0.652 | 0.000 | 0.348 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_OBP | 0.266 | 0.333 | 0.286 | Hitting_OBP | 0.275 | 0.333 | 0.059 | 0.000 |
| predicted_R | 0.375 | 0.000 | 1.000 | Hitting_R | 0.371 | 1.000 | -0.371 | -1.000 |
| predicted_RBI | 0.150 | 0.000 | 1.000 | Hitting_RBI | 0.371 | 0.000 | -0.371 | 0.000 |
| predicted_SLG | 0.369 | 0.333 | 0.167 | Hitting_SLG | 0.316 | 0.000 | 0.018 | 0.333 |
| predicted_SO | 1.125 | 0.000 | 2.000 | Hitting_SO | 1.112 | 0.000 | -1.112 | 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_H: 0.2500 -> 1.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_SO: 1.1250 -> 0.0000 (deboost -1.1250, 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 | 8 | 2 | 7 | 3 | predicted_AB: 3.4200 -> 6.1448 (boost 2.7248, better) | predicted_SLG: 0.3690 -> 0.3504 (deboost -0.0186, 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.3504 -> 0.2656 (deboost -0.0848, 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 | 3 | 4 | predicted_RBI: 0.5218 -> 1.0000 (boost 0.4782, better) | predicted_HBP: 0.4720 -> 0.0000 (deboost -0.4720, worse) | AB rounded to 6 (raw=6.14), rates preserved: AVG=0.144 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8155 -> 1.0000 (boost 0.1845, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2207 -> 0.2860 (boost 0.0653, better) | predicted_SLG: 0.2656 -> 0.1670 (deboost -0.0986, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.1670 -> 0.2656 (boost 0.0986, better) | predicted_OBP: 0.2860 -> 0.2207 (deboost -0.0653, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "543309",
"player_name": "Kyle Higashioka",
"position": "C",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.045,
"predicted_3B": 0.0,
"predicted_AB": 3.42,
"predicted_AVG": 0.222,
"predicted_BB": 0.352,
"predicted_H": 0.25,
"predicted_HR": 0.06,
"predicted_OBP": 0.266,
"predicted_R": 0.375,
"predicted_RBI": 0.15,
"predicted_SLG": 0.369,
"predicted_SO": 1.125
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0829,
"predicted_3B": 0.0013,
"predicted_AB": 6.1448,
"predicted_AVG": 0.2036,
"predicted_BB": 0.6029,
"predicted_H": 0.8911,
"predicted_HBP": 0.472,
"predicted_HR": 0.2189,
"predicted_OBP": 0.2729,
"predicted_R": 0.821,
"predicted_RBI": 0.5253,
"predicted_SLG": 0.3504,
"predicted_SO": 1.9543
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.045,
"after": 0.0829,
"delta": 0.0379,
"percent_delta": 0.8422,
"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.42,
"after": 6.1448,
"delta": 2.7248,
"percent_delta": 0.7967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2036,
"delta": -0.0184,
"percent_delta": -0.0829,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.6029,
"delta": 0.2509,
"percent_delta": 0.7128,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 0.8911,
"delta": 0.6411,
"percent_delta": 2.5644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.2189,
"delta": 0.1589,
"percent_delta": 2.6483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2729,
"delta": 0.0069,
"percent_delta": 0.0259,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.821,
"delta": 0.446,
"percent_delta": 1.1893,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.5253,
"delta": 0.3753,
"percent_delta": 2.502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3504,
"delta": -0.0186,
"percent_delta": -0.0504,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 1.9543,
"delta": 0.8293,
"percent_delta": 0.7372,
"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.42,
"after": 6.1448,
"delta": 2.7248,
"percent_delta": 0.7967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3504,
"delta": -0.0186,
"percent_delta": -0.0504,
"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": 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.0829,
"predicted_3B": 0.0013,
"predicted_AB": 6.1448,
"predicted_AVG": 0.1445,
"predicted_BB": 0.6016,
"predicted_H": 0.8876,
"predicted_HBP": 0.472,
"predicted_HR": 0.2196,
"predicted_OBP": 0.2207,
"predicted_R": 0.8155,
"predicted_RBI": 0.5218,
"predicted_SLG": 0.2656,
"predicted_SO": 1.9584
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0829,
"after": 0.0829,
"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.1448,
"after": 6.1448,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2036,
"after": 0.1445,
"delta": -0.0591,
"percent_delta": -0.2903,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6029,
"after": 0.6016,
"delta": -0.0013,
"percent_delta": -0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8911,
"after": 0.8876,
"delta": -0.0035,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.472,
"after": 0.472,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2189,
"after": 0.2196,
"delta": 0.0007,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2729,
"after": 0.2207,
"delta": -0.0522,
"percent_delta": -0.1913,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.821,
"after": 0.8155,
"delta": -0.0055,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5253,
"after": 0.5218,
"delta": -0.0035,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3504,
"after": 0.2656,
"delta": -0.0848,
"percent_delta": -0.242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9543,
"after": 1.9584,
"delta": 0.0041,
"percent_delta": 0.0021,
"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.3504,
"after": 0.2656,
"delta": -0.0848,
"percent_delta": -0.242,
"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.144 HR/AB=0.036",
"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.0829,
"after": 0.0,
"delta": -0.0829,
"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.1448,
"after": 6.0,
"delta": -0.1448,
"percent_delta": -0.0236,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6016,
"after": 1.0,
"delta": 0.3984,
"percent_delta": 0.6622,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8876,
"after": 1.0,
"delta": 0.1124,
"percent_delta": 0.1266,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2196,
"after": 0.0,
"delta": -0.2196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5218,
"after": 1.0,
"delta": 0.4782,
"percent_delta": 0.9164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9584,
"after": 2.0,
"delta": 0.0416,
"percent_delta": 0.0212,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.5218,
"after": 1.0,
"delta": 0.4782,
"percent_delta": 0.9164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"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.8155,
"after": 1.0,
"delta": 0.1845,
"percent_delta": 0.2262,
"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.8155,
"after": 1.0,
"delta": 0.1845,
"percent_delta": 0.2262,
"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.1445,
"after": 0.167,
"delta": 0.0225,
"percent_delta": 0.1557,
"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.2207,
"after": 0.286,
"delta": 0.0653,
"percent_delta": 0.2959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2656,
"after": 0.167,
"delta": -0.0986,
"percent_delta": -0.3712,
"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.2207,
"after": 0.286,
"delta": 0.0653,
"percent_delta": 0.2959,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2656,
"after": 0.167,
"delta": -0.0986,
"percent_delta": -0.3712,
"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": 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": 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.1445,
"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.2207,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2656,
"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.1445,
"delta": -0.0225,
"percent_delta": -0.135,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2207,
"delta": -0.0653,
"percent_delta": -0.2282,
"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.2656,
"delta": 0.0986,
"percent_delta": 0.5902,
"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.167,
"after": 0.2656,
"delta": 0.0986,
"percent_delta": 0.5902,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2207,
"delta": -0.0653,
"percent_delta": -0.2282,
"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.045,
"after": 0.0,
"delta": -0.045,
"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.42,
"after": 3.0,
"delta": -0.42,
"percent_delta": -0.1228,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1445,
"delta": -0.0775,
"percent_delta": -0.3491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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.266,
"after": 0.2207,
"delta": -0.0453,
"percent_delta": -0.1703,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.375,
"after": 0.0,
"delta": -0.375,
"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.369,
"after": 0.2656,
"delta": -0.1034,
"percent_delta": -0.2802,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.125,
"after": 0.0,
"delta": -1.125,
"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.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.125,
"after": 0.0,
"delta": -1.125,
"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.045 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.420 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.352 | - |
| predicted_H | 0.250 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.375 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 1.125 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | 0.038 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.145 | 2.725 |
| predicted_AVG | 0.204 | -0.018 |
| predicted_BB | 0.603 | 0.251 |
| predicted_H | 0.891 | 0.641 |
| predicted_HBP | 0.472 | - |
| predicted_HR | 0.219 | 0.159 |
| predicted_OBP | 0.273 | 0.007 |
| predicted_R | 0.821 | 0.446 |
| predicted_RBI | 0.525 | 0.375 |
| predicted_SLG | 0.350 | -0.019 |
| predicted_SO | 1.954 | 0.829 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.083 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.145 | 0.000 |
| predicted_AVG | 0.144 | -0.059 |
| predicted_BB | 0.602 | -0.001 |
| predicted_H | 0.888 | -0.004 |
| predicted_HBP | 0.472 | 0.000 |
| predicted_HR | 0.220 | 0.001 |
| predicted_OBP | 0.221 | -0.052 |
| predicted_R | 0.816 | -0.005 |
| predicted_RBI | 0.522 | -0.003 |
| predicted_SLG | 0.266 | -0.085 |
| predicted_SO | 1.958 | 0.004 |
AB rounded to 6 (raw=6.14), rates preserved: AVG=0.144 HR/AB=0.036
| 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.083 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.145 |
| predicted_AVG | 0.167 | 0.023 |
| predicted_BB | 1.000 | 0.398 |
| predicted_H | 1.000 | 0.112 |
| predicted_HR | 0.000 | -0.220 |
| predicted_OBP | 0.286 | 0.065 |
| predicted_R | 1.000 | 0.184 |
| predicted_RBI | 1.000 | 0.478 |
| predicted_SLG | 0.167 | -0.099 |
| predicted_SO | 2.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 | 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 | -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 | - | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.000 | 2.000 | 0.0000 | 0.2308 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 4 | - | 26.000 | 5.000 | 0.000 | 0.000 | 4.000 | 4.000 | 7.000 | 4.000 | 10.000 | 0.1923 | 0.3636 | 0.6538 | 0.1923 | 0.1538 | 0.1538 | 0.1538 | 0.3846 |
| season | 0.60 | 26 | - | 301.000 | 58.000 | 4.000 | 0.000 | 11.000 | 33.000 | 33.000 | 31.000 | 99.000 | 0.1927 | 0.2746 | 0.3156 | 0.1927 | 0.0365 | 0.1096 | 0.1030 | 0.3289 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1340 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.8170 |
| predicted_AVG | 0.1788 |
| predicted_BB | 0.9410 |
| predicted_H | 1.7550 |
| predicted_HBP | 0.4720 |
| predicted_HR | 0.4330 |
| predicted_OBP | 0.2822 |
| predicted_R | 1.4220 |
| predicted_RBI | 1.0310 |
| predicted_SLG | 0.3253 |
| predicted_SO | 3.0720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0450 | 0.1340 | 0.0829 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.4200 | 9.8170 | 6.1448 | model_form_blend |
| predicted_AVG | 0.2220 | 0.1788 | 0.2036 | model_form_blend |
| predicted_BB | 0.3520 | 0.9410 | 0.6029 | model_form_blend |
| predicted_H | 0.2500 | 1.7550 | 0.8911 | model_form_blend |
| predicted_HBP | - | 0.4720 | 0.4720 | form_only |
| predicted_HR | 0.0600 | 0.4330 | 0.2189 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2822 | 0.2729 | model_form_blend |
| predicted_R | 0.3750 | 1.4220 | 0.8210 | model_form_blend |
| predicted_RBI | 0.1500 | 1.0310 | 0.5253 | model_form_blend |
| predicted_SLG | 0.3690 | 0.3253 | 0.3504 | model_form_blend |
| predicted_SO | 1.1250 | 3.0720 | 1.9543 | 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 | 89 |
| Season rows before report date | 89 |
| 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 | 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.193 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| 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 | 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 | 20260526_HOU@TEX |
| game_type | full |
| mlbID | 543309 |
| playerID | 543309 |
| playerName | Kyle Higashioka |
| pos | C |
| started | True |
| startingPosition | C |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-26 |
| game_pk | 822898.0 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.273 |
| sl_xwoba | 0.276 |
| sl_xba | 0.212 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 10.5 |
| sl_hard_hit_percent | 36.8 |
| sl_exit_velocity_avg | 88.2 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 32.1 |
| sl_swing_percent | 44.7 |
| at_bat_number | 53.0 |
| ab_pitcher | 669920.0 |
| ab_pitcher_name | Alexander, Jason |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 9.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 9.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Kyle Higashioka grounds out, shortstop Jeremy Peña to first baseman Christian Walker. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 89.8 |
| ab_launch_angle_last | -5.0 |
| ab_hit_distance_last | 22.0 |
| ab_estimated_ba_last | 0.179 |
| ab_estimated_woba_last | 0.166 |
| ab_estimated_slg_last | 0.2 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 9.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 9.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 88.66 |
| ab_release_spin_rate_avg | 2110.8 |
| ab_effective_speed_avg | 88.97999999999999 |
| ab_launch_speed_avg | 89.8 |
| ab_launch_angle_avg | -5.0 |
| ab_delta_run_exp_avg | -0.0484 |
| ab_delta_home_win_exp_avg | -0.0002 |
| ab_delta_pitcher_run_exp_avg | 0.0484 |
| ab_bat_speed_avg | 69.4 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 89.8 |
| ab_hit_distance_sc_max | 22.0 |
| ab_release_speed_max | 91.4 |
| ab_release_spin_rate_max | 2353.0 |
| ab_release_speed_min | 79.7 |
| ab_release_spin_rate_min | 1682.0 |
| ab_delta_run_exp_sum | -0.242 |
| ab_delta_home_win_exp_sum | -0.001 |
| ab_delta_pitcher_run_exp_sum | 0.242 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.116 | 0.000 | 0.000 | Hitting_2B | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_3B | 0.032 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.238 | 3.000 | 7.000 | Hitting_AB | 3.204 | 3.000 | -0.204 | 0.000 |
| predicted_AVG | 0.222 | 0.000 | 0.143 | Hitting_AVG | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_BB | 0.519 | 0.000 | 1.000 | Hitting_BB | 0.534 | 1.000 | -0.534 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.270 | 0.000 | 1.000 | Hitting_H | 0.602 | 0.000 | -0.602 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.131 | 0.000 | -0.131 | 0.000 |
| predicted_OBP | 0.281 | 0.000 | 0.250 | Hitting_OBP | 0.306 | 0.250 | -0.306 | -0.250 |
| predicted_R | 0.434 | 0.000 | 1.000 | Hitting_R | 0.440 | 0.000 | -0.440 | 0.000 |
| predicted_RBI | 0.210 | 0.000 | 1.000 | Hitting_RBI | 0.361 | 0.000 | -0.361 | 0.000 |
| predicted_SLG | 0.411 | 0.000 | 0.143 | Hitting_SLG | 0.366 | 0.000 | -0.366 | 0.000 |
| predicted_SO | 0.878 | 0.000 | 2.000 | Hitting_SO | 0.869 | 3.000 | -0.869 | -3.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 0.8780 -> 0.0000 (deboost -0.8780, 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 | 10 | 1 | 9 | 2 | predicted_AB: 3.2380 -> 6.5583 (boost 3.3203, better) | predicted_AVG: 0.2220 -> 0.2125 (deboost -0.0095, 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.4131 -> 0.3541 (deboost -0.0590, 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 | 2 | 6 | predicted_AB: 6.5583 -> 7.0000 (boost 0.4417, better) | predicted_HR: 0.2589 -> 0.0000 (deboost -0.2589, worse) | AB rounded to 7 (raw=6.56), rates preserved: AVG=0.167 HR/AB=0.039 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8961 -> 1.0000 (boost 0.1039, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3541 -> 0.1430 (deboost -0.2111, 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.1430 -> 0.3541 (boost 0.2111, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "694497",
"player_name": "Evan Carter",
"position": "CF",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.116,
"predicted_3B": 0.032,
"predicted_AB": 3.238,
"predicted_AVG": 0.222,
"predicted_BB": 0.519,
"predicted_H": 0.27,
"predicted_HR": 0.06,
"predicted_OBP": 0.281,
"predicted_R": 0.434,
"predicted_RBI": 0.21,
"predicted_SLG": 0.411,
"predicted_SO": 0.878
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2107,
"predicted_3B": 0.1192,
"predicted_AB": 6.5583,
"predicted_AVG": 0.2125,
"predicted_BB": 1.0712,
"predicted_H": 1.101,
"predicted_HBP": 0.061,
"predicted_HR": 0.2581,
"predicted_OBP": 0.2959,
"predicted_R": 0.9021,
"predicted_RBI": 0.76,
"predicted_SLG": 0.4131,
"predicted_SO": 2.0372
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.116,
"after": 0.2107,
"delta": 0.0947,
"percent_delta": 0.8164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.032,
"after": 0.1192,
"delta": 0.0872,
"percent_delta": 2.725,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.238,
"after": 6.5583,
"delta": 3.3203,
"percent_delta": 1.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2125,
"delta": -0.0095,
"percent_delta": -0.0428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 1.0712,
"delta": 0.5522,
"percent_delta": 1.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 1.101,
"delta": 0.831,
"percent_delta": 3.0778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.2581,
"delta": 0.1981,
"percent_delta": 3.3017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.281,
"after": 0.2959,
"delta": 0.0149,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.9021,
"delta": 0.4681,
"percent_delta": 1.0786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.21,
"after": 0.76,
"delta": 0.55,
"percent_delta": 2.619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.411,
"after": 0.4131,
"delta": 0.0021,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.878,
"after": 2.0372,
"delta": 1.1592,
"percent_delta": 1.3203,
"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": 3.238,
"after": 6.5583,
"delta": 3.3203,
"percent_delta": 1.0254,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2125,
"delta": -0.0095,
"percent_delta": -0.0428,
"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": 3,
"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.2107,
"predicted_3B": 0.1192,
"predicted_AB": 6.5583,
"predicted_AVG": 0.1672,
"predicted_BB": 1.069,
"predicted_H": 1.0967,
"predicted_HBP": 0.061,
"predicted_HR": 0.2589,
"predicted_OBP": 0.2839,
"predicted_R": 0.8961,
"predicted_RBI": 0.7549,
"predicted_SLG": 0.3541,
"predicted_SO": 2.0415
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2107,
"after": 0.2107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1192,
"after": 0.1192,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.5583,
"after": 6.5583,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2125,
"after": 0.1672,
"delta": -0.0453,
"percent_delta": -0.2132,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0712,
"after": 1.069,
"delta": -0.0022,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.101,
"after": 1.0967,
"delta": -0.0043,
"percent_delta": -0.0039,
"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.2581,
"after": 0.2589,
"delta": 0.0008,
"percent_delta": 0.0031,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2959,
"after": 0.2839,
"delta": -0.012,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9021,
"after": 0.8961,
"delta": -0.006,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.76,
"after": 0.7549,
"delta": -0.0051,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4131,
"after": 0.3541,
"delta": -0.059,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0372,
"after": 2.0415,
"delta": 0.0043,
"percent_delta": 0.0021,
"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.4131,
"after": 0.3541,
"delta": -0.059,
"percent_delta": -0.1428,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.56), rates preserved: AVG=0.167 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.2107,
"after": 0.0,
"delta": -0.2107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1192,
"after": 0.0,
"delta": -0.1192,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.5583,
"after": 7.0,
"delta": 0.4417,
"percent_delta": 0.0673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.069,
"after": 1.0,
"delta": -0.069,
"percent_delta": -0.0645,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0967,
"after": 1.0,
"delta": -0.0967,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"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.2589,
"after": 0.0,
"delta": -0.2589,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7549,
"after": 1.0,
"delta": 0.2451,
"percent_delta": 0.3247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0415,
"after": 2.0,
"delta": -0.0415,
"percent_delta": -0.0203,
"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_AB",
"before": 6.5583,
"after": 7.0,
"delta": 0.4417,
"percent_delta": 0.0673,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.2589,
"after": 0.0,
"delta": -0.2589,
"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.8961,
"after": 1.0,
"delta": 0.1039,
"percent_delta": 0.1159,
"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.8961,
"after": 1.0,
"delta": 0.1039,
"percent_delta": 0.1159,
"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.1672,
"after": 0.143,
"delta": -0.0242,
"percent_delta": -0.1447,
"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.2839,
"after": 0.25,
"delta": -0.0339,
"percent_delta": -0.1194,
"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.3541,
"after": 0.143,
"delta": -0.2111,
"percent_delta": -0.5962,
"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.3541,
"after": 0.143,
"delta": -0.2111,
"percent_delta": -0.5962,
"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": 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": 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": 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.1672,
"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.2839,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3541,
"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.143,
"after": 0.1672,
"delta": 0.0242,
"percent_delta": 0.1694,
"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.2839,
"delta": 0.0339,
"percent_delta": 0.1357,
"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.3541,
"delta": 0.2111,
"percent_delta": 1.4765,
"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.3541,
"delta": 0.2111,
"percent_delta": 1.4765,
"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.116,
"after": 0.0,
"delta": -0.116,
"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": 3.238,
"after": 3.0,
"delta": -0.238,
"percent_delta": -0.0735,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.1672,
"delta": -0.0548,
"percent_delta": -0.2468,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.519,
"after": 0.0,
"delta": -0.519,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.27,
"after": 0.0,
"delta": -0.27,
"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.281,
"after": 0.2839,
"delta": 0.0029,
"percent_delta": 0.0103,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.434,
"after": 0.0,
"delta": -0.434,
"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.411,
"after": 0.3541,
"delta": -0.0569,
"percent_delta": -0.1384,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.878,
"after": 0.0,
"delta": -0.878,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.878,
"after": 0.0,
"delta": -0.878,
"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.116 | - |
| predicted_3B | 0.032 | - |
| predicted_AB | 3.238 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.519 | - |
| predicted_H | 0.270 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.281 | - |
| predicted_R | 0.434 | - |
| predicted_RBI | 0.210 | - |
| predicted_SLG | 0.411 | - |
| predicted_SO | 0.878 | - |
Final model 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.211 | 0.095 |
| predicted_3B | 0.119 | 0.087 |
| predicted_AB | 6.558 | 3.320 |
| predicted_AVG | 0.212 | -0.010 |
| predicted_BB | 1.071 | 0.552 |
| predicted_H | 1.101 | 0.831 |
| predicted_HBP | 0.061 | - |
| predicted_HR | 0.258 | 0.198 |
| predicted_OBP | 0.296 | 0.015 |
| predicted_R | 0.902 | 0.468 |
| predicted_RBI | 0.760 | 0.550 |
| predicted_SLG | 0.413 | 0.002 |
| predicted_SO | 2.037 | 1.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.211 | 0.000 |
| predicted_3B | 0.119 | 0.000 |
| predicted_AB | 6.558 | 0.000 |
| predicted_AVG | 0.167 | -0.045 |
| predicted_BB | 1.069 | -0.002 |
| predicted_H | 1.097 | -0.004 |
| predicted_HBP | 0.061 | 0.000 |
| predicted_HR | 0.259 | 0.001 |
| predicted_OBP | 0.284 | -0.012 |
| predicted_R | 0.896 | -0.006 |
| predicted_RBI | 0.755 | -0.005 |
| predicted_SLG | 0.354 | -0.059 |
| predicted_SO | 2.042 | 0.004 |
AB rounded to 7 (raw=6.56), rates preserved: AVG=0.167 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 | - |
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.211 |
| predicted_3B | 0.000 | -0.119 |
| predicted_AB | 7.000 | 0.442 |
| predicted_AVG | 0.143 | -0.024 |
| predicted_BB | 1.000 | -0.069 |
| predicted_H | 1.000 | -0.097 |
| predicted_HR | 0.000 | -0.259 |
| predicted_OBP | 0.250 | -0.034 |
| predicted_R | 1.000 | 0.104 |
| predicted_RBI | 1.000 | 0.245 |
| predicted_SLG | 0.143 | -0.211 |
| predicted_SO | 2.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 | -4.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 | 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 | - | 16.000 | 3.000 | 0.000 | 1.000 | 1.000 | 3.000 | 2.000 | 4.000 | 12.000 | 0.1875 | 0.3500 | 0.5000 | 0.1875 | 0.0625 | 0.1875 | 0.2500 | 0.7500 |
| last_10 | 0.20 | 3 | - | 32.000 | 12.000 | 0.000 | 4.000 | 4.000 | 12.000 | 8.000 | 4.000 | 12.000 | 0.3750 | 0.4444 | 1.0000 | 0.3750 | 0.1250 | 0.3750 | 0.1250 | 0.3750 |
| season | 0.60 | 53 | - | 612.000 | 115.000 | 22.000 | 6.000 | 25.000 | 69.000 | 82.000 | 98.000 | 166.000 | 0.1879 | 0.3018 | 0.3660 | 0.1879 | 0.0408 | 0.1128 | 0.1601 | 0.2712 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3320 |
| predicted_3B | 0.2310 |
| predicted_AB | 10.8140 |
| predicted_AVG | 0.2003 |
| predicted_BB | 1.7790 |
| predicted_H | 2.1660 |
| predicted_HBP | 0.0610 |
| predicted_HR | 0.5120 |
| predicted_OBP | 0.3150 |
| predicted_R | 1.5020 |
| predicted_RBI | 1.4650 |
| predicted_SLG | 0.4158 |
| predicted_SO | 3.5230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1160 | 0.3320 | 0.2107 | model_form_blend |
| predicted_3B | 0.0320 | 0.2310 | 0.1192 | model_form_blend |
| predicted_AB | 3.2380 | 10.8140 | 6.5583 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2003 | 0.2125 | model_form_blend |
| predicted_BB | 0.5190 | 1.7790 | 1.0712 | model_form_blend |
| predicted_H | 0.2700 | 2.1660 | 1.1010 | model_form_blend |
| predicted_HBP | - | 0.0610 | 0.0610 | form_only |
| predicted_HR | 0.0600 | 0.5120 | 0.2581 | model_form_blend |
| predicted_OBP | 0.2810 | 0.3150 | 0.2959 | model_form_blend |
| predicted_R | 0.4340 | 1.5020 | 0.9021 | model_form_blend |
| predicted_RBI | 0.2100 | 1.4650 | 0.7600 | model_form_blend |
| predicted_SLG | 0.4110 | 0.4158 | 0.4131 | model_form_blend |
| predicted_SO | 0.8780 | 3.5230 | 2.0372 | 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 | 191 |
| Season rows before report date | 191 |
| Report year | 2026 |
| Profile rows used | 189 |
| 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.188 |
| 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.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 | 3 |
| 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 | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 694497 |
| playerID | 694497 |
| playerName | Evan Carter |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 13.4 |
| sl_woba | 0.293 |
| sl_xwoba | 0.307 |
| sl_xba | 0.21 |
| sl_xslg | 0.363 |
| sl_sweet_spot_percent | 31.4 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 40.5 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 19.1 |
| sl_whiff_percent | 25.0 |
| sl_swing_percent | 40.9 |
| at_bat_number | 72.0 |
| ab_pitcher | 660853.0 |
| ab_pitcher_name | De Los Santos, Enyel |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 4.0 |
| ab_event | strikeout |
| ab_event_description | Evan Carter strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 55.6 |
| ab_launch_angle_last | -27.0 |
| ab_hit_distance_last | 4.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 | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 7.0 |
| ab_release_speed_avg | 87.92857142857143 |
| ab_release_spin_rate_avg | 1946.2857142857144 |
| ab_effective_speed_avg | 88.2 |
| ab_launch_speed_avg | 64.26666666666667 |
| ab_launch_angle_avg | 20.33333333333333 |
| ab_delta_run_exp_avg | -0.0365714285714285 |
| ab_delta_home_win_exp_avg | -0.0127142857142857 |
| ab_delta_pitcher_run_exp_avg | 0.0365714285714285 |
| ab_bat_speed_avg | 73.56 |
| ab_swing_length_avg | 7.519999999999999 |
| ab_launch_speed_max | 74.0 |
| ab_hit_distance_sc_max | 207.0 |
| ab_release_speed_max | 97.0 |
| ab_release_spin_rate_max | 2274.0 |
| ab_release_speed_min | 85.4 |
| ab_release_spin_rate_min | 1813.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.089 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| 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.312 | 1.000 | 1.000 | Hitting_2B | 0.309 | 0.000 | 0.691 | 1.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_AB | 3.475 | 2.000 | 7.000 | Hitting_AB | 3.432 | 2.000 | -1.432 | 0.000 |
| predicted_AVG | 0.244 | 0.500 | 0.286 | Hitting_AVG | 0.297 | 0.000 | 0.203 | 0.500 |
| predicted_BB | 0.338 | 1.000 | 1.000 | Hitting_BB | 0.333 | 0.000 | 0.667 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.310 | 1.000 | 2.000 | Hitting_H | 1.019 | 0.000 | -0.019 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_OBP | 0.287 | 0.667 | 0.375 | Hitting_OBP | 0.354 | 0.000 | 0.313 | 0.667 |
| predicted_R | 0.531 | 1.000 | 1.000 | Hitting_R | 0.525 | 0.000 | 0.475 | 1.000 |
| predicted_RBI | 0.240 | 1.000 | 1.000 | Hitting_RBI | 0.642 | 0.000 | 0.358 | 1.000 |
| predicted_SLG | 0.406 | 1.000 | 0.429 | Hitting_SLG | 0.480 | 0.000 | 0.520 | 1.000 |
| predicted_SO | 0.856 | 0.000 | 2.000 | Hitting_SO | 0.846 | 1.000 | -0.846 | -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 | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_RBI: 0.2400 -> 1.0000 (boost 0.7600, better) |
| Biggest Deboost | predicted_AB: 3.4750 -> 2.0000 (deboost -1.4750, 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.4750 -> 6.7657 (boost 3.2907, 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.4376 -> 0.4063 (deboost -0.0313, worse) | 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_BB: 0.6078 -> 1.0000 (boost 0.3922, better) | predicted_RBI: 1.1480 -> 1.0000 (deboost -0.1480, worse) | AB rounded to 7 (raw=6.77), rates preserved: AVG=0.238 HR/AB=0.018 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3011 -> 0.3750 (boost 0.0739, 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: 7.0000 -> 2.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3750 -> 0.3011 (deboost -0.0739, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677649",
"player_name": "Ezequiel Duran",
"position": "SS",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.312,
"predicted_3B": 0.031,
"predicted_AB": 3.475,
"predicted_AVG": 0.244,
"predicted_BB": 0.338,
"predicted_H": 0.31,
"predicted_HR": 0.04,
"predicted_OBP": 0.287,
"predicted_R": 0.531,
"predicted_RBI": 0.24,
"predicted_SLG": 0.406,
"predicted_SO": 0.856
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.6695,
"predicted_3B": 0.0511,
"predicted_AB": 6.7657,
"predicted_AVG": 0.2686,
"predicted_BB": 0.6091,
"predicted_H": 1.6186,
"predicted_HBP": 0.005,
"predicted_HR": 0.1212,
"predicted_OBP": 0.3159,
"predicted_R": 1.0378,
"predicted_RBI": 1.1557,
"predicted_SLG": 0.4376,
"predicted_SO": 1.7573
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.312,
"after": 0.6695,
"delta": 0.3575,
"percent_delta": 1.1458,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.0511,
"delta": 0.0201,
"percent_delta": 0.6484,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.475,
"after": 6.7657,
"delta": 3.2907,
"percent_delta": 0.947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2686,
"delta": 0.0246,
"percent_delta": 0.1008,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 0.6091,
"delta": 0.2711,
"percent_delta": 0.8021,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.6186,
"delta": 1.3086,
"percent_delta": 4.2213,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.1212,
"delta": 0.0812,
"percent_delta": 2.03,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.3159,
"delta": 0.0289,
"percent_delta": 0.1007,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 1.0378,
"delta": 0.5068,
"percent_delta": 0.9544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.24,
"after": 1.1557,
"delta": 0.9157,
"percent_delta": 3.8154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.406,
"after": 0.4376,
"delta": 0.0316,
"percent_delta": 0.0778,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.856,
"after": 1.7573,
"delta": 0.9013,
"percent_delta": 1.0529,
"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.475,
"after": 6.7657,
"delta": 3.2907,
"percent_delta": 0.947,
"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": 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.6695,
"predicted_3B": 0.0511,
"predicted_AB": 6.7657,
"predicted_AVG": 0.2383,
"predicted_BB": 0.6078,
"predicted_H": 1.6123,
"predicted_HBP": 0.005,
"predicted_HR": 0.1216,
"predicted_OBP": 0.3011,
"predicted_R": 1.0308,
"predicted_RBI": 1.148,
"predicted_SLG": 0.4063,
"predicted_SO": 1.761
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6695,
"after": 0.6695,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0511,
"after": 0.0511,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.7657,
"after": 6.7657,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2686,
"after": 0.2383,
"delta": -0.0303,
"percent_delta": -0.1128,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6091,
"after": 0.6078,
"delta": -0.0013,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6186,
"after": 1.6123,
"delta": -0.0063,
"percent_delta": -0.0039,
"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.1212,
"after": 0.1216,
"delta": 0.0004,
"percent_delta": 0.0033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3159,
"after": 0.3011,
"delta": -0.0148,
"percent_delta": -0.0469,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0378,
"after": 1.0308,
"delta": -0.007,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1557,
"after": 1.148,
"delta": -0.0077,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4376,
"after": 0.4063,
"delta": -0.0313,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7573,
"after": 1.761,
"delta": 0.0037,
"percent_delta": 0.0021,
"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.4376,
"after": 0.4063,
"delta": -0.0313,
"percent_delta": -0.0715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.77), rates preserved: AVG=0.238 HR/AB=0.018",
"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.6695,
"after": 1.0,
"delta": 0.3305,
"percent_delta": 0.4937,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0511,
"after": 0.0,
"delta": -0.0511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.7657,
"after": 7.0,
"delta": 0.2343,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6078,
"after": 1.0,
"delta": 0.3922,
"percent_delta": 0.6453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6123,
"after": 2.0,
"delta": 0.3877,
"percent_delta": 0.2405,
"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.1216,
"after": 0.0,
"delta": -0.1216,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.148,
"after": 1.0,
"delta": -0.148,
"percent_delta": -0.1289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.761,
"after": 2.0,
"delta": 0.239,
"percent_delta": 0.1357,
"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_BB",
"before": 0.6078,
"after": 1.0,
"delta": 0.3922,
"percent_delta": 0.6453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.148,
"after": 1.0,
"delta": -0.148,
"percent_delta": -0.1289,
"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": 1.0308,
"after": 1.0,
"delta": -0.0308,
"percent_delta": -0.0299,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.2383,
"after": 0.286,
"delta": 0.0477,
"percent_delta": 0.2002,
"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.3011,
"after": 0.375,
"delta": 0.0739,
"percent_delta": 0.2454,
"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.4063,
"after": 0.429,
"delta": 0.0227,
"percent_delta": 0.0559,
"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.3011,
"after": 0.375,
"delta": 0.0739,
"percent_delta": 0.2454,
"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": 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": 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": 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": 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": 0.0,
"delta": -2.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 2.0,
"predicted_AVG": 0.2383,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3011,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4063,
"predicted_SO": 0.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.2383,
"delta": -0.0477,
"percent_delta": -0.1668,
"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.3011,
"delta": -0.0739,
"percent_delta": -0.1971,
"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.429,
"after": 0.4063,
"delta": -0.0227,
"percent_delta": -0.053,
"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.3011,
"delta": -0.0739,
"percent_delta": -0.1971,
"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.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"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.475,
"after": 2.0,
"delta": -1.475,
"percent_delta": -0.4245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2383,
"delta": -0.0057,
"percent_delta": -0.0234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.338,
"after": 1.0,
"delta": 0.662,
"percent_delta": 1.9586,
"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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.287,
"after": 0.3011,
"delta": 0.0141,
"percent_delta": 0.0491,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.531,
"after": 1.0,
"delta": 0.469,
"percent_delta": 0.8832,
"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.406,
"after": 0.4063,
"delta": 0.0003,
"percent_delta": 0.0007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.856,
"after": 0.0,
"delta": -0.856,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.24,
"after": 1.0,
"delta": 0.76,
"percent_delta": 3.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.475,
"after": 2.0,
"delta": -1.475,
"percent_delta": -0.4245,
"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.312 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.475 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.338 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.287 | - |
| predicted_R | 0.531 | - |
| predicted_RBI | 0.240 | - |
| predicted_SLG | 0.406 | - |
| predicted_SO | 0.856 | - |
Final model 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.669 | 0.357 |
| predicted_3B | 0.051 | 0.020 |
| predicted_AB | 6.766 | 3.291 |
| predicted_AVG | 0.269 | 0.025 |
| predicted_BB | 0.609 | 0.271 |
| predicted_H | 1.619 | 1.309 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.121 | 0.081 |
| predicted_OBP | 0.316 | 0.029 |
| predicted_R | 1.038 | 0.507 |
| predicted_RBI | 1.156 | 0.916 |
| predicted_SLG | 0.438 | 0.032 |
| predicted_SO | 1.757 | 0.901 |
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.669 | 0.000 |
| predicted_3B | 0.051 | 0.000 |
| predicted_AB | 6.766 | 0.000 |
| predicted_AVG | 0.238 | -0.030 |
| predicted_BB | 0.608 | -0.001 |
| predicted_H | 1.612 | -0.006 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.122 | 0.000 |
| predicted_OBP | 0.301 | -0.015 |
| predicted_R | 1.031 | -0.007 |
| predicted_RBI | 1.148 | -0.008 |
| predicted_SLG | 0.406 | -0.031 |
| predicted_SO | 1.761 | 0.004 |
AB rounded to 7 (raw=6.77), rates preserved: AVG=0.238 HR/AB=0.018
| 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.331 |
| predicted_3B | 0.000 | -0.051 |
| predicted_AB | 7.000 | 0.234 |
| predicted_AVG | 0.286 | 0.048 |
| predicted_BB | 1.000 | 0.392 |
| predicted_H | 2.000 | 0.388 |
| predicted_HR | 0.000 | -0.122 |
| predicted_OBP | 0.375 | 0.074 |
| predicted_R | 1.000 | -0.031 |
| predicted_RBI | 1.000 | -0.148 |
| predicted_SLG | 0.429 | 0.023 |
| predicted_SO | 2.000 | 0.239 |
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 | 2.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 | 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 | 2 | - | 16.000 | 6.000 | 3.000 | 0.000 | 0.000 | 6.000 | 3.000 | 0.000 | 5.000 | 0.3750 | 0.3750 | 0.5625 | 0.3750 | 0.0000 | 0.3750 | 0.0000 | 0.3125 |
| last_10 | 0.20 | 4 | - | 29.000 | 8.000 | 4.000 | 0.000 | 0.000 | 8.000 | 4.000 | 3.000 | 11.000 | 0.2759 | 0.3438 | 0.4138 | 0.2759 | 0.0000 | 0.2759 | 0.1035 | 0.3793 |
| season | 0.60 | 45 | - | 556.000 | 165.000 | 50.000 | 5.000 | 14.000 | 104.000 | 85.000 | 54.000 | 137.000 | 0.2968 | 0.3538 | 0.4802 | 0.2968 | 0.0252 | 0.1870 | 0.0971 | 0.2464 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1310 |
| predicted_3B | 0.0770 |
| predicted_AB | 11.0140 |
| predicted_AVG | 0.3004 |
| predicted_BB | 0.9590 |
| predicted_H | 3.3080 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.2260 |
| predicted_OBP | 0.3531 |
| predicted_R | 1.6920 |
| predicted_RBI | 2.3380 |
| predicted_SLG | 0.4784 |
| predicted_SO | 2.9210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3120 | 1.1310 | 0.6695 | model_form_blend |
| predicted_3B | 0.0310 | 0.0770 | 0.0511 | model_form_blend |
| predicted_AB | 3.4750 | 11.0140 | 6.7657 | model_form_blend |
| predicted_AVG | 0.2440 | 0.3004 | 0.2686 | model_form_blend |
| predicted_BB | 0.3380 | 0.9590 | 0.6091 | model_form_blend |
| predicted_H | 0.3100 | 3.3080 | 1.6186 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0400 | 0.2260 | 0.1212 | model_form_blend |
| predicted_OBP | 0.2870 | 0.3531 | 0.3159 | model_form_blend |
| predicted_R | 0.5310 | 1.6920 | 1.0378 | model_form_blend |
| predicted_RBI | 0.2400 | 2.3380 | 1.1557 | model_form_blend |
| predicted_SLG | 0.4060 | 0.4784 | 0.4376 | model_form_blend |
| predicted_SO | 0.8560 | 2.9210 | 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 | 162 |
| Season rows before report date | 162 |
| Report year | 2026 |
| Profile rows used | 160 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| 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 | 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 | 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 | SS |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 677649 |
| playerID | 677649 |
| playerName | Ezequiel Duran |
| pos | 2B |
| started | True |
| startingPosition | SS |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.35 |
| sl_xwoba | 0.316 |
| sl_xba | 0.257 |
| sl_xslg | 0.391 |
| sl_sweet_spot_percent | 35.5 |
| sl_barrel_batted_rate | 7.3 |
| sl_hard_hit_percent | 42.7 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 13.8 |
| sl_whiff_percent | 30.7 |
| sl_swing_percent | 49.3 |
| at_bat_number | 31.0 |
| ab_pitcher | 681347.0 |
| ab_pitcher_name | Burrows, Mike |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 4.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 694497.0 |
| ab_on_2b_start | 694497.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Ezequiel Duran called out on strikes. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 73.2 |
| ab_launch_angle_last | 13.0 |
| ab_hit_distance_last | 141.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 | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 92.825 |
| ab_release_spin_rate_avg | 2415.25 |
| ab_effective_speed_avg | 93.125 |
| ab_launch_speed_avg | 73.2 |
| ab_launch_angle_avg | 13.0 |
| ab_delta_run_exp_avg | -0.06175 |
| ab_delta_home_win_exp_avg | -0.0052499999999999 |
| ab_delta_pitcher_run_exp_avg | 0.06175 |
| ab_bat_speed_avg | 67.4 |
| ab_swing_length_avg | 6.75 |
| ab_launch_speed_max | 73.2 |
| ab_hit_distance_sc_max | 141.0 |
| ab_release_speed_max | 96.1 |
| ab_release_spin_rate_max | 2587.0 |
| ab_release_speed_min | 89.7 |
| ab_release_spin_rate_min | 2210.0 |
| ab_delta_run_exp_sum | -0.247 |
| ab_delta_home_win_exp_sum | -0.0209999999999999 |
| ab_delta_pitcher_run_exp_sum | 0.247 |
| 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.161 | 1.000 | 0.000 | Hitting_2B | 0.161 | 0.000 | 0.839 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.863 | 3.000 | 8.000 | Hitting_AB | 3.863 | 4.000 | -0.863 | -1.000 |
| predicted_AVG | 0.229 | 0.333 | 0.250 | Hitting_AVG | 0.239 | 0.000 | 0.094 | 0.333 |
| predicted_BB | 0.265 | 0.000 | 0.000 | Hitting_BB | 0.265 | 0.000 | -0.265 | 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 | 0.924 | 0.000 | 0.076 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.180 | 0.000 | -0.180 | 0.000 |
| predicted_OBP | 0.289 | 0.333 | 0.250 | Hitting_OBP | 0.291 | 0.000 | 0.043 | 0.333 |
| predicted_R | 0.488 | 0.000 | 1.000 | Hitting_R | 0.488 | 0.000 | -0.488 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.697 | 0.000 | -0.697 | 0.000 |
| predicted_SLG | 0.419 | 0.667 | 0.250 | Hitting_SLG | 0.421 | 0.000 | 0.246 | 0.667 |
| predicted_SO | 1.156 | 2.000 | 3.000 | Hitting_SO | 1.156 | 2.000 | 0.844 | 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.1560 -> 2.0000 (boost 0.8440, worse) |
| Biggest Deboost | predicted_AB: 3.8630 -> 3.0000 (deboost -0.8630, 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.8630 -> 8.2514 (boost 4.3884, better) | predicted_SLG: 0.4190 -> 0.3939 (deboost -0.0251, 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.3939 -> 0.3719 (deboost -0.0220, 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: 2.6020 -> 3.0000 (boost 0.3980, worse) | predicted_BB: 0.4824 -> 0.0000 (deboost -0.4824, worse) | AB rounded to 8 (raw=8.25), rates preserved: AVG=0.214 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0914 -> 1.0000 (deboost -0.0914, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2136 -> 0.2500 (boost 0.0364, better) | predicted_SLG: 0.3719 -> 0.2500 (deboost -0.1219, 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: 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.3719 (boost 0.1219, better) | predicted_AVG: 0.2500 -> 0.2136 (deboost -0.0364, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "669394",
"player_name": "Jake Burger",
"position": "1B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.161,
"predicted_3B": 0.0,
"predicted_AB": 3.863,
"predicted_AVG": 0.229,
"predicted_BB": 0.265,
"predicted_H": 0.88,
"predicted_HR": 0.17,
"predicted_OBP": 0.289,
"predicted_R": 0.488,
"predicted_RBI": 0.62,
"predicted_SLG": 0.419,
"predicted_SO": 1.156
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.294,
"predicted_3B": 0.0009,
"predicted_AB": 8.2514,
"predicted_AVG": 0.2205,
"predicted_BB": 0.4834,
"predicted_H": 1.7696,
"predicted_HBP": 0.069,
"predicted_HR": 0.3356,
"predicted_OBP": 0.2723,
"predicted_R": 1.0988,
"predicted_RBI": 1.4246,
"predicted_SLG": 0.3939,
"predicted_SO": 2.5965
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.161,
"after": 0.294,
"delta": 0.133,
"percent_delta": 0.8261,
"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.863,
"after": 8.2514,
"delta": 4.3884,
"percent_delta": 1.136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2205,
"delta": -0.0085,
"percent_delta": -0.0371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.265,
"after": 0.4834,
"delta": 0.2184,
"percent_delta": 0.8242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.7696,
"delta": 0.8896,
"percent_delta": 1.0109,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3356,
"delta": 0.1656,
"percent_delta": 0.9741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.2723,
"delta": -0.0167,
"percent_delta": -0.0578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.488,
"after": 1.0988,
"delta": 0.6108,
"percent_delta": 1.2516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.4246,
"delta": 0.8046,
"percent_delta": 1.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.3939,
"delta": -0.0251,
"percent_delta": -0.0599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.156,
"after": 2.5965,
"delta": 1.4405,
"percent_delta": 1.2461,
"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.863,
"after": 8.2514,
"delta": 4.3884,
"percent_delta": 1.136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.419,
"after": 0.3939,
"delta": -0.0251,
"percent_delta": -0.0599,
"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": 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.294,
"predicted_3B": 0.0009,
"predicted_AB": 8.2514,
"predicted_AVG": 0.2136,
"predicted_BB": 0.4824,
"predicted_H": 1.7627,
"predicted_HBP": 0.069,
"predicted_HR": 0.3366,
"predicted_OBP": 0.2571,
"predicted_R": 1.0914,
"predicted_RBI": 1.4151,
"predicted_SLG": 0.3719,
"predicted_SO": 2.602
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.294,
"after": 0.294,
"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.2514,
"after": 8.2514,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2205,
"after": 0.2136,
"delta": -0.0069,
"percent_delta": -0.0313,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4834,
"after": 0.4824,
"delta": -0.001,
"percent_delta": -0.0021,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7696,
"after": 1.7627,
"delta": -0.0069,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.3356,
"after": 0.3366,
"delta": 0.001,
"percent_delta": 0.003,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2723,
"after": 0.2571,
"delta": -0.0152,
"percent_delta": -0.0558,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0988,
"after": 1.0914,
"delta": -0.0074,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.4246,
"after": 1.4151,
"delta": -0.0095,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3939,
"after": 0.3719,
"delta": -0.022,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5965,
"after": 2.602,
"delta": 0.0055,
"percent_delta": 0.0021,
"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.3939,
"after": 0.3719,
"delta": -0.022,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.25), rates preserved: AVG=0.214 HR/AB=0.041",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.294,
"after": 0.0,
"delta": -0.294,
"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.2514,
"after": 8.0,
"delta": -0.2514,
"percent_delta": -0.0305,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4824,
"after": 0.0,
"delta": -0.4824,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7627,
"after": 2.0,
"delta": 0.2373,
"percent_delta": 0.1346,
"direction": "boost",
"projection_effect": "better",
"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.3366,
"after": 0.0,
"delta": -0.3366,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4151,
"after": 1.0,
"delta": -0.4151,
"percent_delta": -0.2933,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.602,
"after": 3.0,
"delta": 0.398,
"percent_delta": 0.153,
"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": 2.602,
"after": 3.0,
"delta": 0.398,
"percent_delta": 0.153,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4824,
"after": 0.0,
"delta": -0.4824,
"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": 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": 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.0914,
"after": 1.0,
"delta": -0.0914,
"percent_delta": -0.0837,
"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.0914,
"after": 1.0,
"delta": -0.0914,
"percent_delta": -0.0837,
"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": 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": 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.2136,
"after": 0.25,
"delta": 0.0364,
"percent_delta": 0.1704,
"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.2571,
"after": 0.25,
"delta": -0.0071,
"percent_delta": -0.0276,
"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.3719,
"after": 0.25,
"delta": -0.1219,
"percent_delta": -0.3278,
"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": 1,
"deboosted_metrics": 2,
"better_metrics": 1,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2136,
"after": 0.25,
"delta": 0.0364,
"percent_delta": 0.1704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3719,
"after": 0.25,
"delta": -0.1219,
"percent_delta": -0.3278,
"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": 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": 3.0,
"delta": -5.0,
"percent_delta": -0.625,
"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": 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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.2136,
"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.2571,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3719,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2136,
"delta": -0.0364,
"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_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2571,
"delta": 0.0071,
"percent_delta": 0.0282,
"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.3719,
"delta": 0.1219,
"percent_delta": 0.4875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3719,
"delta": 0.1219,
"percent_delta": 0.4875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2136,
"delta": -0.0364,
"percent_delta": -0.1455,
"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.161,
"after": 1.0,
"delta": 0.839,
"percent_delta": 5.2112,
"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.863,
"after": 3.0,
"delta": -0.863,
"percent_delta": -0.2234,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2136,
"delta": -0.0154,
"percent_delta": -0.0672,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.88,
"after": 1.0,
"delta": 0.12,
"percent_delta": 0.1364,
"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.289,
"after": 0.2571,
"delta": -0.0319,
"percent_delta": -0.1104,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.488,
"after": 0.0,
"delta": -0.488,
"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.419,
"after": 0.3719,
"delta": -0.0471,
"percent_delta": -0.1124,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.156,
"after": 2.0,
"delta": 0.844,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.156,
"after": 2.0,
"delta": 0.844,
"percent_delta": 0.7301,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.863,
"after": 3.0,
"delta": -0.863,
"percent_delta": -0.2234,
"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.161 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.863 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.265 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.488 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.419 | - |
| predicted_SO | 1.156 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.294 | 0.133 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.251 | 4.388 |
| predicted_AVG | 0.221 | -0.009 |
| predicted_BB | 0.483 | 0.218 |
| predicted_H | 1.770 | 0.890 |
| predicted_HBP | 0.069 | - |
| predicted_HR | 0.336 | 0.166 |
| predicted_OBP | 0.272 | -0.017 |
| predicted_R | 1.099 | 0.611 |
| predicted_RBI | 1.425 | 0.805 |
| predicted_SLG | 0.394 | -0.025 |
| predicted_SO | 2.596 | 1.440 |
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.001 | 0.000 |
| predicted_AB | 8.251 | 0.000 |
| predicted_AVG | 0.214 | -0.007 |
| predicted_BB | 0.482 | -0.001 |
| predicted_H | 1.763 | -0.007 |
| predicted_HBP | 0.069 | 0.000 |
| predicted_HR | 0.337 | 0.001 |
| predicted_OBP | 0.257 | -0.015 |
| predicted_R | 1.091 | -0.007 |
| predicted_RBI | 1.415 | -0.010 |
| predicted_SLG | 0.372 | -0.022 |
| predicted_SO | 2.602 | 0.006 |
AB rounded to 8 (raw=8.25), rates preserved: AVG=0.214 HR/AB=0.041
| 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 | 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 | 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 | 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.001 |
| predicted_AB | 8.000 | -0.251 |
| predicted_AVG | 0.250 | 0.036 |
| predicted_BB | 0.000 | -0.482 |
| predicted_H | 2.000 | 0.237 |
| predicted_HR | 0.000 | -0.337 |
| predicted_OBP | 0.250 | -0.007 |
| predicted_R | 1.000 | -0.091 |
| predicted_RBI | 1.000 | -0.415 |
| predicted_SLG | 0.250 | -0.122 |
| predicted_SO | 3.000 | 0.398 |
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 | -5.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 | 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 | 2 | - | 20.000 | 1.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.000 | 9.000 | 0.0500 | 0.0500 | 0.0500 | 0.0500 | 0.0000 | 0.1000 | 0.0000 | 0.4500 |
| last_10 | 0.20 | 4 | - | 37.000 | 5.000 | 0.000 | 0.000 | 1.000 | 9.000 | 9.000 | 0.000 | 14.000 | 0.1351 | 0.1351 | 0.2162 | 0.1351 | 0.0270 | 0.2432 | 0.0000 | 0.3784 |
| season | 0.60 | 53 | - | 815.000 | 195.000 | 34.000 | 0.000 | 38.000 | 147.000 | 103.000 | 56.000 | 244.000 | 0.2393 | 0.2906 | 0.4209 | 0.2393 | 0.0466 | 0.1804 | 0.0687 | 0.2994 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4630 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.8280 |
| predicted_AVG | 0.2098 |
| predicted_BB | 0.7610 |
| predicted_H | 2.9000 |
| predicted_HBP | 0.0690 |
| predicted_HR | 0.5460 |
| predicted_OBP | 0.2510 |
| predicted_R | 1.8750 |
| predicted_RBI | 2.4470 |
| predicted_SLG | 0.3619 |
| predicted_SO | 4.4270 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1610 | 0.4630 | 0.2940 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8630 | 13.8280 | 8.2514 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2098 | 0.2205 | model_form_blend |
| predicted_BB | 0.2650 | 0.7610 | 0.4834 | model_form_blend |
| predicted_H | 0.8800 | 2.9000 | 1.7696 | model_form_blend |
| predicted_HBP | - | 0.0690 | 0.0690 | form_only |
| predicted_HR | 0.1700 | 0.5460 | 0.3356 | model_form_blend |
| predicted_OBP | 0.2890 | 0.2510 | 0.2723 | model_form_blend |
| predicted_R | 0.4880 | 1.8750 | 1.0988 | model_form_blend |
| predicted_RBI | 0.6200 | 2.4470 | 1.4246 | model_form_blend |
| predicted_SLG | 0.4190 | 0.3619 | 0.3939 | model_form_blend |
| predicted_SO | 1.1560 | 4.4270 | 2.5965 | 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 | 211 |
| Season rows before report date | 211 |
| Report year | 2026 |
| Profile rows used | 211 |
| 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 | 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 | 0 |
| Hitting_AB | 4 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 2 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 5 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | 1B |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 669394 |
| playerID | 669394 |
| playerName | Jake Burger |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 26.5 |
| sl_bb_percent | 6.2 |
| sl_woba | 0.318 |
| sl_xwoba | 0.306 |
| sl_xba | 0.241 |
| sl_xslg | 0.415 |
| sl_sweet_spot_percent | 31.9 |
| sl_barrel_batted_rate | 9.9 |
| sl_hard_hit_percent | 48.9 |
| sl_exit_velocity_avg | 90.3 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 35.7 |
| sl_swing_percent | 50.5 |
| at_bat_number | 66.0 |
| ab_pitcher | 660853.0 |
| ab_pitcher_name | De Los Santos, Enyel |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 664059.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 4.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 4.0 |
| ab_event | strikeout |
| ab_event_description | Jake Burger strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 92.1 |
| ab_launch_angle_last | 51.0 |
| ab_hit_distance_last | 281.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 | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 4.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 90.9 |
| ab_release_spin_rate_avg | 2247.5 |
| ab_effective_speed_avg | 91.075 |
| ab_launch_speed_avg | 92.1 |
| ab_launch_angle_avg | 51.0 |
| ab_delta_run_exp_avg | -0.06675 |
| ab_delta_home_win_exp_avg | -0.017 |
| ab_delta_pitcher_run_exp_avg | 0.06675 |
| ab_bat_speed_avg | 73.73333333333333 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 92.1 |
| ab_hit_distance_sc_max | 281.0 |
| ab_release_speed_max | 96.4 |
| ab_release_spin_rate_max | 2369.0 |
| ab_release_speed_min | 85.7 |
| ab_release_spin_rate_min | 2093.0 |
| ab_delta_run_exp_sum | -0.267 |
| ab_delta_home_win_exp_sum | -0.068 |
| ab_delta_pitcher_run_exp_sum | 0.267 |
| 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.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 | 3.000 | 3.000 | 0.000 | 0.000 |
| predicted_AVG | 0.268 | 0.000 | 0.000 | 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.150 | 0.000 | 0.000 | Hitting_H | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.268 | 0.000 | 0.000 | Hitting_OBP | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_R | 0.278 | 0.000 | 0.000 | Hitting_R | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_RBI | 0.110 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.330 | 0.000 | 0.000 | Hitting_SLG | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SO | 0.556 | 2.000 | 1.000 | Hitting_SO | 0.000 | 0.000 | 2.000 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 6 |
| Better Metrics | 1 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.5560 -> 2.0000 (boost 1.4440, worse) |
| Biggest Deboost | predicted_R: 0.2780 -> 0.0000 (deboost -0.2780, 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_AB: 2.5000 -> 2.8914 (boost 0.3914, better) | predicted_AVG: 0.2680 -> 0.2381 (deboost -0.0299, 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.3099 -> 0.1539 (deboost -0.1560, 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: 0.5767 -> 1.0000 (boost 0.4233, worse) | predicted_H: 0.2742 -> 0.0000 (deboost -0.2742, worse) | AB rounded to 3 (raw=2.89), rates preserved: AVG=0.095 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3215 -> 0.0000 (deboost -0.3215, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.1539 -> 0.0000 (deboost -0.1539, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 0 | 1 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, worse) | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.0000 -> 0.1539 (boost 0.1539, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "670032",
"player_name": "Nicky Lopez",
"position": "2B",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.268,
"predicted_BB": 0.0,
"predicted_H": 0.15,
"predicted_HR": 0.03,
"predicted_OBP": 0.268,
"predicted_R": 0.278,
"predicted_RBI": 0.11,
"predicted_SLG": 0.33,
"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.0323,
"predicted_3B": 0.0027,
"predicted_AB": 2.8914,
"predicted_AVG": 0.2381,
"predicted_BB": 0.0513,
"predicted_H": 0.2753,
"predicted_HBP": 0.023,
"predicted_HR": 0.0442,
"predicted_OBP": 0.2487,
"predicted_R": 0.3237,
"predicted_RBI": 0.1674,
"predicted_SLG": 0.3099,
"predicted_SO": 0.5755
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0323,
"delta": 0.0323,
"percent_delta": null,
"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.5,
"after": 2.8914,
"delta": 0.3914,
"percent_delta": 0.1566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2381,
"delta": -0.0299,
"percent_delta": -0.1116,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0513,
"delta": 0.0513,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.15,
"after": 0.2753,
"delta": 0.1253,
"percent_delta": 0.8353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0442,
"delta": 0.0142,
"percent_delta": 0.4733,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.268,
"after": 0.2487,
"delta": -0.0193,
"percent_delta": -0.072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.3237,
"delta": 0.0457,
"percent_delta": 0.1644,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.11,
"after": 0.1674,
"delta": 0.0574,
"percent_delta": 0.5218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.33,
"after": 0.3099,
"delta": -0.0201,
"percent_delta": -0.0609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 0.5755,
"delta": 0.0195,
"percent_delta": 0.0351,
"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_AB",
"before": 2.5,
"after": 2.8914,
"delta": 0.3914,
"percent_delta": 0.1566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.268,
"after": 0.2381,
"delta": -0.0299,
"percent_delta": -0.1116,
"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": 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.0323,
"predicted_3B": 0.0027,
"predicted_AB": 2.8914,
"predicted_AVG": 0.0948,
"predicted_BB": 0.0512,
"predicted_H": 0.2742,
"predicted_HBP": 0.023,
"predicted_HR": 0.0443,
"predicted_OBP": 0.1106,
"predicted_R": 0.3215,
"predicted_RBI": 0.1663,
"predicted_SLG": 0.1539,
"predicted_SO": 0.5767
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0323,
"after": 0.0323,
"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": 2.8914,
"after": 2.8914,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2381,
"after": 0.0948,
"delta": -0.1433,
"percent_delta": -0.6018,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0513,
"after": 0.0512,
"delta": -0.0001,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.2753,
"after": 0.2742,
"delta": -0.0011,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.023,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0442,
"after": 0.0443,
"delta": 0.0001,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2487,
"after": 0.1106,
"delta": -0.1381,
"percent_delta": -0.5553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3237,
"after": 0.3215,
"delta": -0.0022,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1674,
"after": 0.1663,
"delta": -0.0011,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3099,
"after": 0.1539,
"delta": -0.156,
"percent_delta": -0.5034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5755,
"after": 0.5767,
"delta": 0.0012,
"percent_delta": 0.0021,
"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.3099,
"after": 0.1539,
"delta": -0.156,
"percent_delta": -0.5034,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=2.89), rates preserved: AVG=0.095 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.0323,
"after": 0.0,
"delta": -0.0323,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 2.8914,
"after": 3.0,
"delta": 0.1086,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"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.2742,
"after": 0.0,
"delta": -0.2742,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.023,
"after": 0.0,
"delta": -0.023,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0443,
"after": 0.0,
"delta": -0.0443,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1663,
"after": 0.0,
"delta": -0.1663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5767,
"after": 1.0,
"delta": 0.4233,
"percent_delta": 0.734,
"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": 0.5767,
"after": 1.0,
"delta": 0.4233,
"percent_delta": 0.734,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.2742,
"after": 0.0,
"delta": -0.2742,
"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.3215,
"after": 0.0,
"delta": -0.3215,
"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.3215,
"after": 0.0,
"delta": -0.3215,
"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.0948,
"after": 0.0,
"delta": -0.0948,
"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.1106,
"after": 0.0,
"delta": -0.1106,
"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.1539,
"after": 0.0,
"delta": -0.1539,
"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.1539,
"after": 0.0,
"delta": -0.1539,
"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": 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": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.0948,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.1106,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1539,
"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.0948,
"delta": 0.0948,
"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.1106,
"delta": 0.1106,
"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.1539,
"delta": 0.1539,
"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_SLG",
"before": 0.0,
"after": 0.1539,
"delta": 0.1539,
"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.268,
"after": 0.0948,
"delta": -0.1732,
"percent_delta": -0.6463,
"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.15,
"after": 0.0,
"delta": -0.15,
"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.268,
"after": 0.1106,
"delta": -0.1574,
"percent_delta": -0.5873,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.33,
"after": 0.1539,
"delta": -0.1761,
"percent_delta": -0.5336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.556,
"after": 2.0,
"delta": 1.444,
"percent_delta": 2.5971,
"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.556,
"after": 2.0,
"delta": 1.444,
"percent_delta": 2.5971,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.278,
"after": 0.0,
"delta": -0.278,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.500 | - |
| predicted_AVG | 0.268 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.150 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.268 | - |
| predicted_R | 0.278 | - |
| predicted_RBI | 0.110 | - |
| predicted_SLG | 0.330 | - |
| 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.032 | 0.032 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 2.891 | 0.391 |
| predicted_AVG | 0.238 | -0.030 |
| predicted_BB | 0.051 | 0.051 |
| predicted_H | 0.275 | 0.125 |
| predicted_HBP | 0.023 | - |
| predicted_HR | 0.044 | 0.014 |
| predicted_OBP | 0.249 | -0.019 |
| predicted_R | 0.324 | 0.046 |
| predicted_RBI | 0.167 | 0.057 |
| predicted_SLG | 0.310 | -0.020 |
| predicted_SO | 0.576 | 0.019 |
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.032 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 2.891 | 0.000 |
| predicted_AVG | 0.095 | -0.143 |
| predicted_BB | 0.051 | -0.000 |
| predicted_H | 0.274 | -0.001 |
| predicted_HBP | 0.023 | 0.000 |
| predicted_HR | 0.044 | 0.000 |
| predicted_OBP | 0.111 | -0.138 |
| predicted_R | 0.322 | -0.002 |
| predicted_RBI | 0.166 | -0.001 |
| predicted_SLG | 0.154 | -0.156 |
| predicted_SO | 0.577 | 0.001 |
AB rounded to 3 (raw=2.89), rates preserved: AVG=0.095 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 | 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.032 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 3.000 | 0.109 |
| predicted_AVG | 0.000 | -0.095 |
| predicted_BB | 0.000 | -0.051 |
| predicted_H | 0.000 | -0.274 |
| predicted_HR | 0.000 | -0.044 |
| predicted_OBP | 0.000 | -0.111 |
| predicted_R | 0.000 | -0.322 |
| predicted_RBI | 0.000 | -0.166 |
| predicted_SLG | 0.000 | -0.154 |
| 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 | 3.000 | 0.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 | 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 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 0.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 18.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2222 |
| season | 0.60 | 4 | - | 18.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 4.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2222 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1210 |
| predicted_3B | 0.0100 |
| predicted_AB | 3.9650 |
| predicted_AVG | 0.1562 |
| predicted_BB | 0.1920 |
| predicted_H | 0.6190 |
| predicted_HBP | 0.0230 |
| predicted_HR | 0.0830 |
| predicted_OBP | 0.1959 |
| predicted_R | 0.4490 |
| predicted_RBI | 0.3250 |
| predicted_SLG | 0.2547 |
| predicted_SO | 0.6290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1210 | 0.0323 | model_form_blend |
| predicted_3B | 0.0000 | 0.0100 | 0.0027 | model_form_blend |
| predicted_AB | 2.5000 | 3.9650 | 2.8914 | model_form_blend |
| predicted_AVG | 0.2680 | 0.1562 | 0.2381 | model_form_blend |
| predicted_BB | 0.0000 | 0.1920 | 0.0513 | model_form_blend |
| predicted_H | 0.1500 | 0.6190 | 0.2753 | model_form_blend |
| predicted_HBP | - | 0.0230 | 0.0230 | form_only |
| predicted_HR | 0.0300 | 0.0830 | 0.0442 | model_form_blend |
| predicted_OBP | 0.2680 | 0.1959 | 0.2487 | model_form_blend |
| predicted_R | 0.2780 | 0.4490 | 0.3237 | model_form_blend |
| predicted_RBI | 0.1100 | 0.3250 | 0.1674 | model_form_blend |
| predicted_SLG | 0.3300 | 0.2547 | 0.3099 | model_form_blend |
| predicted_SO | 0.5560 | 0.6290 | 0.5755 | 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 | 3 |
| Season rows before report date | 3 |
| Report year | 2026 |
| Profile rows used | 8 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.0 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 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 | 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-SS |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 670032 |
| playerID | 670032 |
| playerName | Nicky Lopez |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 40.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.0 |
| sl_xwoba | 0.144 |
| sl_xba | 0.16 |
| sl_xslg | 0.166 |
| sl_sweet_spot_percent | 0.0 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 33.3 |
| sl_exit_velocity_avg | 88.3 |
| sl_launch_angle_avg | -20.2 |
| sl_whiff_percent | 30.8 |
| sl_swing_percent | 61.9 |
| at_bat_number | 16.0 |
| ab_pitcher | 681347.0 |
| ab_pitcher_name | Burrows, Mike |
| ab_home_team | TEX |
| ab_away_team | HOU |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 2.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Nicky Lopez grounds out to first baseman Christian Walker. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 62.2 |
| ab_launch_angle_last | -37.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.095 |
| ab_estimated_woba_last | 0.086 |
| ab_estimated_slg_last | 0.096 |
| 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 | 1.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 94.125 |
| ab_release_spin_rate_avg | 2031.25 |
| ab_effective_speed_avg | 94.55 |
| ab_launch_speed_avg | 71.85 |
| ab_launch_angle_avg | -8.5 |
| ab_delta_run_exp_avg | -0.061 |
| ab_delta_home_win_exp_avg | -0.00275 |
| ab_delta_pitcher_run_exp_avg | 0.061 |
| ab_bat_speed_avg | 64.35 |
| ab_swing_length_avg | 6.6 |
| ab_launch_speed_max | 81.5 |
| ab_hit_distance_sc_max | 214.0 |
| ab_release_speed_max | 96.0 |
| ab_release_spin_rate_max | 2260.0 |
| ab_release_speed_min | 89.0 |
| ab_release_spin_rate_min | 1471.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | -0.011 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.400 | 2.000 | -0.400 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 2.500 | 3.000 | -2.500 | -3.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 5.600 | 5.000 | 0.400 | 1.000 |
| predicted_IP | 6.100 | 6.100 | 6.100 | Pitching_InningsPitched | 6.120 | 7.000 | -0.020 | -0.900 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 6.100 | 6.000 | -1.100 | -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.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 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 6.3333 -> 6.1000 (deboost -0.2333, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "543135",
"player_name": "Nathan Eovaldi",
"position": "Starter",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.3333,
"predicted_SO": 5.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"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": 6.0,
"predicted_HR": 0.0,
"predicted_IP": 6.1,
"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": 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": 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": 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": 6.3333,
"after": 6.1,
"delta": -0.2333,
"percent_delta": -0.0368,
"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": 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": 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": 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": 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": "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 | 6.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 6.333 | - |
| predicted_SO | 5.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 35.000 | 10.000 | 23.000 | 6.000 | 32.000 | 6.000 | 2.5714 | 0.8286 | 0.2857 | 0.6571 | 0.1714 | 0.9143 | 0.1714 |
| last_10 | 0.35 | 10 | 61.200 | 25.000 | 56.000 | 14.000 | 61.000 | 11.000 | 3.6486 | 1.1351 | 0.4054 | 0.9081 | 0.2270 | 0.9892 | 0.1784 |
| season | 0.20 | 10 | 61.200 | 25.000 | 56.000 | 14.000 | 61.000 | 11.000 | 3.6486 | 1.1351 | 0.4054 | 0.9081 | 0.2270 | 0.9892 | 0.1784 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6440 |
| predicted_ER | 2.4810 |
| predicted_ERA | 3.4421 |
| predicted_H | 5.3550 |
| predicted_HR | 1.0380 |
| predicted_IP | 6.1000 |
| predicted_SO | 6.1360 |
| predicted_WHIP | 1.0792 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.6440 | 1.3279 | model_form_blend |
| predicted_ER | 0.0000 | 2.4810 | 1.2633 | model_form_blend |
| predicted_ERA | - | 3.4421 | 3.4421 | form_only |
| predicted_H | 6.0000 | 5.3550 | 5.6716 | model_form_blend |
| predicted_HR | 0.0000 | 1.0380 | 0.5285 | model_form_blend |
| predicted_IP | 6.1000 | 6.1000 | 6.1000 | model_form_blend |
| predicted_SO | 5.0000 | 6.1360 | 5.5784 | model_form_blend |
| predicted_WHIP | - | 1.0792 | 1.0792 | 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.1 |
| H | 6 |
| R | 0 |
| ER | 0 |
| BB | 1 |
| SO | 5 |
| HR | 0 |
| BF | 26 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 29 |
| Pitching_ER | 3 |
| Pitching_ERA | 3.65 |
| Pitching_Flyouts | 7 |
| Pitching_Groundouts | 7 |
| Pitching_H | 5 |
| Pitching_HBP | 1 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 7.0 |
| Pitching_Pitches | 97 |
| Pitching_R | 3 |
| Pitching_SO | 6 |
| Pitching_Strikes | 68 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260523_TEX@LAA |
| game_type | full |
| mlbID | 543135 |
| playerID | 543135 |
| playerName | Nathan Eovaldi |
| pos | P |
| started | True |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-23 |
| game_pk | 824030.0 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.311 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 29.0 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 41.5 |
| sl_whiff_percent | 31.9 |
| sl_swing_percent | 53.5 |
| sv_pitch_count | 97.0 |
| sv_outs_recorded_est | 20.0 |
| sv_release_speed | 87.14742268041236 |
| sv_release_spin_rate | 1821.0721649484533 |
| sv_effective_speed | 87.58556701030928 |
| sv_launch_speed | 82.30967741935484 |
| sv_launch_angle | 11.225806451612904 |
| sv_woba_value | 9.3 |
| sv_woba_denom | 29.0 |
| sv_delta_run_exp | -0.4939999999999999 |
| sv_delta_home_win_exp | 0.01 |
| sl_avg_best_speed | 78.156499318 |
| sl_avg_hyper_speed | 94.386113011 |
| 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.250 | 0.000 | -0.250 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.300 | 1.000 | -0.300 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 1.000 | -0.500 | -1.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.180 | 1.100 | -0.080 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.150 | 2.000 | 0.850 | 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": "656641",
"player_name": "Jacob Latz",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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": 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.1,
"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.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 1.3333,
"after": 1.1,
"delta": -0.2333,
"percent_delta": -0.175,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.333 | - |
| predicted_SO | 2.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 7.100 | 1.000 | 2.000 | 1.000 | 8.000 | 1.000 | 1.2273 | 0.4091 | 0.1364 | 0.2727 | 0.1364 | 1.0909 | 0.1364 |
| last_10 | 0.35 | 10 | 13.100 | 1.000 | 3.000 | 1.000 | 13.000 | 1.000 | 0.6750 | 0.3000 | 0.0750 | 0.2250 | 0.0750 | 0.9750 | 0.0750 |
| season | 0.20 | 19 | 25.000 | 3.000 | 7.000 | 4.000 | 23.000 | 2.000 | 1.0800 | 0.4400 | 0.1200 | 0.2800 | 0.1600 | 0.9200 | 0.0800 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3270 |
| predicted_ER | 0.3900 |
| predicted_ERA | 2.6342 |
| predicted_H | 0.8040 |
| predicted_HR | 0.1570 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.3070 |
| predicted_WHIP | 0.8479 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3270 | 0.1430 | model_form_blend |
| predicted_ER | 0.0000 | 0.3900 | 0.1705 | model_form_blend |
| predicted_ERA | - | 2.6342 | 2.6342 | form_only |
| predicted_H | 0.0000 | 0.8040 | 0.3516 | model_form_blend |
| predicted_HR | 0.0000 | 0.1570 | 0.0687 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 2.0000 | 1.3070 | 1.6970 | model_form_blend |
| predicted_WHIP | - | 0.8479 | 0.8479 | 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 | 2 |
| 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 | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.16 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 14 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 12 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260526_HOU@TEX |
| game_type | full |
| mlbID | 656641 |
| playerID | 656641 |
| playerName | Jacob Latz |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-26 |
| game_pk | 822898.0 |
| sl_k_percent | 25.3 |
| sl_bb_percent | 5.5 |
| sl_woba | 0.18 |
| sl_xwoba | 0.261 |
| sl_sweet_spot_percent | 20.6 |
| sl_barrel_batted_rate | 7.9 |
| sl_hard_hit_percent | 47.6 |
| sl_whiff_percent | 28.2 |
| sl_swing_percent | 47.8 |
| sv_pitch_count | 14.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 92.80714285714284 |
| sv_release_spin_rate | 2293.785714285714 |
| sv_effective_speed | 93.07857142857142 |
| sv_launch_speed | 83.05 |
| sv_launch_angle | 35.833333333333336 |
| sv_woba_value | 2.0 |
| sv_woba_denom | 5.0 |
| sv_delta_run_exp | 0.567 |
| sv_delta_home_win_exp | 0.037 |
| sl_avg_best_speed | 80.886020938 |
| sl_avg_hyper_speed | 94.78995746 |
| 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.250 | 0.000 | -0.250 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.600 | 0.000 | 1.400 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.165 | 1.000 | -0.165 | 0.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.650 | 0.000 | 0.350 | 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": "596001",
"player_name": "Jakob Junis",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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 | 7.200 | 1.000 | 4.000 | 0.000 | 6.000 | 0.000 | 1.1739 | 0.5217 | 0.1304 | 0.5217 | 0.0000 | 0.7826 | 0.0000 |
| last_10 | 0.35 | 10 | 12.200 | 1.000 | 6.000 | 1.000 | 7.000 | 0.000 | 0.7105 | 0.5526 | 0.0790 | 0.4737 | 0.0790 | 0.5526 | 0.0000 |
| season | 0.20 | 20 | 24.000 | 4.000 | 12.000 | 5.000 | 13.000 | 0.000 | 1.5000 | 0.7083 | 0.1667 | 0.5000 | 0.2083 | 0.5417 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2760 |
| predicted_ER | 0.3710 |
| predicted_ERA | 2.7024 |
| predicted_H | 0.8990 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.1000 |
| predicted_SO | 0.9920 |
| predicted_WHIP | 0.9511 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2760 | 0.1195 | model_form_blend |
| predicted_ER | 1.0000 | 0.3710 | 0.7277 | model_form_blend |
| predicted_ERA | - | 2.7024 | 2.7024 | form_only |
| predicted_H | 2.0000 | 0.8990 | 1.5233 | model_form_blend |
| predicted_HR | 0.0000 | 0.0830 | 0.0359 | model_form_blend |
| predicted_IP | 1.0000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9920 | 0.9965 | model_form_blend |
| predicted_WHIP | - | 0.9511 | 0.9511 | 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 | 1.0 |
| H | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 5 |
| 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 | 1.50 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260526_HOU@TEX |
| game_type | full |
| mlbID | 596001 |
| playerID | 596001 |
| playerName | Jakob Junis |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-26 |
| game_pk | 822898.0 |
| sl_k_percent | 14.4 |
| sl_bb_percent | 5.6 |
| sl_woba | 0.186 |
| sl_xwoba | 0.292 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 28.6 |
| sl_whiff_percent | 17.3 |
| sl_swing_percent | 47.3 |
| sv_pitch_count | 10.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 85.32000000000001 |
| sv_release_spin_rate | 2163.3 |
| sv_effective_speed | 84.88 |
| sv_launch_speed | 79.32000000000001 |
| sv_launch_angle | 27.2 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.752 |
| sv_delta_home_win_exp | 0.018 |
| sl_avg_best_speed | 75.287996571 |
| sl_avg_hyper_speed | 92.443773 |
| 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.250 | 1.000 | -0.250 | -1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.042 | 1.000 | -0.042 | 0.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 0.854 | 0.100 | -0.754 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.792 | 0.000 | -0.792 | 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.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": "641302",
"player_name": "Tyler Alexander",
"position": "Middle Reliever",
"team": "TEX",
"interpretation": "Boost/deboost is numeric movement 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.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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 0.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": 1.0,
"after": 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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.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 | 0.000 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.333 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 1.000 | 2.000 | 3.000 | 4.000 | 1.000 | 2.2500 | 1.2500 | 0.2500 | 0.5000 | 0.7500 | 1.0000 | 0.2500 |
| last_10 | 0.35 | 10 | 8.200 | 5.000 | 10.000 | 5.000 | 7.000 | 2.000 | 5.1923 | 1.7308 | 0.5769 | 1.1539 | 0.5769 | 0.8077 | 0.2308 |
| season | 0.20 | 24 | 24.000 | 6.000 | 25.000 | 8.000 | 19.000 | 2.000 | 2.2500 | 1.3750 | 0.2500 | 1.0417 | 0.3333 | 0.7917 | 0.0833 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2830 |
| predicted_ER | 0.2450 |
| predicted_ERA | 3.7737 |
| predicted_H | 0.5210 |
| predicted_HR | 0.0990 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.5370 |
| predicted_WHIP | 1.3759 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.2830 | 0.1225 | model_form_blend |
| predicted_ER | 0.0000 | 0.2450 | 0.1061 | model_form_blend |
| predicted_ERA | - | 3.7737 | 3.7737 | form_only |
| predicted_H | 1.0000 | 0.5210 | 0.7926 | model_form_blend |
| predicted_HR | 0.0000 | 0.0990 | 0.0429 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 0.0000 | 0.5370 | 0.2325 | model_form_blend |
| predicted_WHIP | - | 1.3759 | 1.3759 | 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 | 0.1 |
| H | 1 |
| 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 | 1 |
| 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 | 2.25 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 2 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 18 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_HOU@TEX |
| game_type | full |
| mlbID | 641302 |
| playerID | 641302 |
| playerName | Tyler Alexander |
| pos | P |
| started | False |
| startingPosition | P |
| team | TEX |
| teamID | 28 |
| game_date | 2026-05-27 |
| game_pk | 822897.0 |
| sl_k_percent | 18.6 |
| sl_bb_percent | 7.8 |
| sl_woba | 0.307 |
| sl_xwoba | 0.266 |
| sl_sweet_spot_percent | 24.7 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 27.4 |
| sl_whiff_percent | 17.0 |
| sl_swing_percent | 45.7 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 88.08333333333333 |
| sv_release_spin_rate | 2198.722222222222 |
| sv_effective_speed | 88.49444444444445 |
| sv_launch_speed | 67.83333333333333 |
| sv_launch_angle | -30.666666666666668 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 1.231 |
| sv_delta_home_win_exp | -0.396 |
| sl_avg_best_speed | 75.481304444 |
| sl_avg_hyper_speed | 92.354505972 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | LAA 4 - 5 DET | DET | 0.545 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | LAA 4 - 7 DET | DET | - | 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.5450 |
| 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.824 | 6.661 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 7 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 3 | 4 | 0.5450 | 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 | 4 | 7 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.5020958199356914,
"base_low_score_probability": 0.4340836012861736,
"low_score_signal_threshold": 0.5140836012861736,
"low_score_signal_strength": 0.06801221864951779,
"confidence": 0.67834,
"factors": {
"environmental": 1.1566800000000002,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.1566800000000002
},
"prediction": "normal_scoring",
"expected_total_runs": 9,
"pre_simulation_expected_total_runs": 7.0,
"low_score_model_expected_total_runs": 7.0,
"final_simulation_total_runs": 11,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 35,
"near_bucket_sample_size": 6,
"medium_bucket_sample_size": 14,
"wide_bucket_sample_size": 35,
"global_sample_size": 35,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.4857,
"bayesian_hit_rate": 0.4906,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.545,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.545,
"predicted_side": "home"
}{
"applied": true,
"home": {
"team": "DET",
"games": 56,
"wins": 22,
"losses": 34,
"win_pct": 0.39285714285714285,
"runs_scored": 217,
"runs_allowed": 242,
"run_differential": -25,
"run_differential_per_game": -0.44642857142857145,
"available": true
},
"away": {
"team": "LAA",
"games": 56,
"wins": 21,
"losses": 35,
"win_pct": 0.375,
"runs_scored": 227,
"runs_allowed": 289,
"run_differential": -62,
"run_differential_per_game": -1.1071428571428572,
"available": true
},
"run_differential_edge_per_game": 0.6607,
"win_pct_edge": 0.0179,
"quality_edge": 0.6875,
"margin_adjustment": 0.2888,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 1.81,
"home_runs": 4.918,
"home_win_probability": 0.7641
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "DET",
"guardrail_predicted_team": "DET",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "DET",
"output_opponent_team": "LAA",
"final_score_winner": "DET",
"pre_simulation_winner": "DET",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 4,
"home_runs": 5,
"score_text": "LAA 4 - 5 DET",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 7,
"score_text": "LAA 4 - 7 DET",
"winner": "DET"
},
"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": "DET",
"games": 56,
"wins": 22,
"losses": 34,
"win_pct": 0.39285714285714285,
"runs_scored": 217,
"runs_allowed": 242,
"run_differential": -25,
"run_differential_per_game": -0.44642857142857145,
"available": true
},
"away": {
"team": "LAA",
"games": 56,
"wins": 21,
"losses": 35,
"win_pct": 0.375,
"runs_scored": 227,
"runs_allowed": 289,
"run_differential": -62,
"run_differential_per_game": -1.1071428571428572,
"available": true
}
}
}{
"applied": true,
"raw_margin": 3.1075,
"final_margin": 1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.6875,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 2.614,
"home_runs": 4.114
}
}{
"applied": false,
"raw_confidence": 0.545,
"final_confidence": 0.545,
"confidence_cap": 0.545,
"score_gap": 1.5,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.4857,
"calibration_bayesian_hit_rate": 0.4906,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6875,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"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": 4,
"home_runs": 5,
"score_text": "LAA 4 - 5 DET",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 7,
"score_text": "LAA 4 - 7 DET",
"winner": "DET"
},
"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": 4,
"home_runs": 5,
"confidence": 0.545,
"home_win_probability": 0.545,
"away_win_probability": 0.45499999999999996,
"predicted_score_text": "LAA 4 - 5 DET",
"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": "LAA",
"original_runs": 3,
"run_delta": 0.5691,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 65.0,
"quality": 0.24529481417684332,
"contact": 0.06358487321280111,
"power": 0.3592791736194141,
"discipline": -0.10885619368110724,
"xwoba": 0.33396923076923074,
"recent_xwoba": 0.33396923076923074,
"barrel": 10.22923076923077,
"ab_hard_contact": 0.15650215370693973,
"ab_bat_speed": 70.5343718756239,
"ab_strikeout_rate": 0.25784300686792055,
"available_players": 9,
"top_players": [
{
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"weight": 8.0,
"quality": 1.431175836856032,
"contact": 1.1211501239892194,
"power": 1.9378723338841186,
"discipline": 1.2554824797843667,
"xwoba": 0.414,
"recent_xwoba": 0.414,
"barrel": 20.3,
"ab_hard_contact": 1.0128752491109254,
"ab_bat_speed": 73.43694002695418,
"ab_strikeout_rate": 0.25566037735849056,
"available": 1.0
},
{
"player_id": "624428",
"player_name": "Adam Frazier",
"position": "2B",
"weight": 5.0,
"quality": -0.5077285257033712,
"contact": -1.6233954967159268,
"power": -1.5957521104752954,
"discipline": -0.29053366174055817,
"xwoba": 0.251,
"recent_xwoba": 0.251,
"barrel": 2.0,
"ab_hard_contact": -1.4906612571249809,
"ab_bat_speed": 62.05158524904215,
"ab_strikeout_rate": 0.31839080459770114,
"available": 1.0
},
{
"player_id": "665861",
"player_name": "Sebastián Rivero",
"position": "C",
"weight": 4.0,
"quality": -0.2297311693194538,
"contact": -1.8050487179487162,
"power": -1.9579006584488523,
"discipline": -0.6428882783882783,
"xwoba": 0.218,
"recent_xwoba": 0.218,
"barrel": 0.0,
"ab_hard_contact": -1.742394121358033,
"ab_bat_speed": 70.14488705738705,
"ab_strikeout_rate": 0.3141025641025641,
"available": 1.0
},
{
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"weight": 9.0,
"quality": 0.5151158673325018,
"contact": 0.6488224074074089,
"power": 0.7304430203317291,
"discipline": -0.868721340388007,
"xwoba": 0.336,
"recent_xwoba": 0.336,
"barrel": 8.9,
"ab_hard_contact": 0.7858127875869322,
"ab_bat_speed": 75.89361750440918,
"ab_strikeout_rate": 0.2558641975308642,
"available": 1.0
},
{
"player_id": "687093",
"player_name": "Vaughn Grissom",
"position": "1B",
"weight": 8.0,
"quality": 0.38306071926160795,
"contact": 1.003236900000001,
"power": 0.42488169152290284,
"discipline": 0.6626666666666667,
"xwoba": 0.347,
"recent_xwoba": 0.347,
"barrel": 6.4,
"ab_hard_contact": 1.0987766876008882,
"ab_bat_speed": 69.70154232804232,
"ab_strikeout_rate": 0.14833333333333334,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "656427",
"player_name": "Jack Flaherty",
"quality": -0.6273798693252775,
"contact": -1.3563829597304164,
"command": -0.1328951101576067,
"movement": -0.5165278997789241,
"xwoba": 0.351,
"whiff": 24.3,
"faced_est_woba": 0.3608476950038634,
"faced_launch_speed": 83.35847954822955,
"faced_strikeout_rate": 0.23361144957254795,
"faced_run_exp": -0.011565977062161807
}
},
"home": {
"team": "DET",
"original_runs": 4,
"run_delta": 0.513,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 65.0,
"quality": 0.27306737126490055,
"contact": 0.0818559564835611,
"power": 0.1751438730159324,
"discipline": 0.2592994582053218,
"xwoba": 0.32238461538461544,
"recent_xwoba": 0.32238461538461544,
"barrel": 9.046153846153846,
"ab_hard_contact": 0.16596903541020291,
"ab_bat_speed": 70.55060122909775,
"ab_strikeout_rate": 0.2125049373990739,
"available_players": 9,
"top_players": [
{
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "DH",
"weight": 8.0,
"quality": 1.038262852254376,
"contact": 1.267637449679163,
"power": 1.3903030940821222,
"discipline": 0.14723927727119218,
"xwoba": 0.388,
"recent_xwoba": 0.388,
"barrel": 13.6,
"ab_hard_contact": 0.7660618816424192,
"ab_bat_speed": 70.74097023809524,
"ab_strikeout_rate": 0.2268321513002364,
"available": 1.0
},
{
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"weight": 8.0,
"quality": 0.8446583631269857,
"contact": 0.9262074146451039,
"power": 1.0969980564665598,
"discipline": 0.22541913746630712,
"xwoba": 0.373,
"recent_xwoba": 0.373,
"barrel": 12.8,
"ab_hard_contact": 0.7723420817121316,
"ab_bat_speed": 73.79782869122492,
"ab_strikeout_rate": 0.2665094339622642,
"available": 1.0
},
{
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "2B",
"weight": 6.0,
"quality": -0.546339465153401,
"contact": -1.4594972269841262,
"power": -1.5946805826104669,
"discipline": 0.2912619047619047,
"xwoba": 0.239,
"recent_xwoba": 0.23899999999999996,
"barrel": 1.2,
"ab_hard_contact": -0.8117068903046036,
"ab_bat_speed": 67.79901915708813,
"ab_strikeout_rate": 0.1716666666666667,
"available": 1.0
},
{
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "SS",
"weight": 9.0,
"quality": 0.7252942094148437,
"contact": 0.8891746981014638,
"power": 0.46244392574486726,
"discipline": 1.331286336756925,
"xwoba": 0.374,
"recent_xwoba": 0.374,
"barrel": 9.5,
"ab_hard_contact": 0.4024023244211334,
"ab_bat_speed": 70.25054258740533,
"ab_strikeout_rate": 0.13257080610021788,
"available": 1.0
},
{
"player_id": "668670",
"player_name": "Jake Rogers",
"position": "C",
"weight": 5.0,
"quality": -0.1973642655813437,
"contact": -1.4708626904761903,
"power": -0.6456024515392015,
"discipline": -0.5724523809523808,
"xwoba": 0.242,
"recent_xwoba": 0.242,
"barrel": 9.1,
"ab_hard_contact": -1.3063347450697456,
"ab_bat_speed": 68.67833333333333,
"ab_strikeout_rate": 0.2845238095238095,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "680570",
"player_name": "Grayson Rodriguez",
"quality": -0.11029107269646202,
"contact": -2.0,
"command": -0.6293367940775513,
"movement": -0.5174885606113663,
"xwoba": 0.429,
"whiff": 21.6,
"faced_est_woba": 0.44125847619047615,
"faced_launch_speed": 85.978125,
"faced_strikeout_rate": 0.19047619047619047,
"faced_run_exp": -0.048841269841269845
}
}
},
"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": "LAA 4 - 5 DET",
"confidence": 0.545,
"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": "LAA 4 - 5 DET",
"winner": "DET"
},
"final_simulation_score": {
"away_runs": 4,
"home_runs": 7,
"score_text": "LAA 4 - 7 DET",
"winner": "DET"
},
"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 LAA | True | 1.0246 | 1.0246 | 1 | 9 | 0 |
| Home DET | True | 1.0293 | 1.0293 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Vaughn Grissom | 384 | 1.0332 | 0.4431 | positive_batter_regression | 0.3470 | 0.2700 | 0.4340 | 6.40 | 47.90 | 91 | 11.80 | 18.80 | 9.30 | 9.30 | 1.1429 |
| SS | Zach Neto | 57 | 1.0258 | 0.3444 | neutral | 0.3290 | 0.2140 | 0.4190 | 12.20 | 38.80 | 89.80 | 22.50 | 30.30 | 30.60 | 12.30 | -0.4857 |
| DH | Jorge Soler | 348 | 1.0177 | 0.2362 | neutral | 0.3150 | 0.2220 | 0.4070 | 11.30 | 43.50 | 88.70 | 14.80 | 35.20 | 30.80 | 9.30 | 0.0571 |
| CF | Mike Trout | 19 | 1.1330 | 1.7730 | neutral | 0.4140 | 0.2540 | 0.5680 | 20.30 | 47.80 | 91 | 20.70 | 21.70 | 23.90 | 19.80 | 0.8571 |
| LF | Wade Meckler | 257 | 1.0387 | 0.5165 | negative_batter_regression | 0.4810 | 0.3780 | 0.7080 | 10 | 40 | 82 | -5.30 | 26.30 | 8.30 | 8.30 | -2 |
| 2B | Adam Frazier | 212 | 0.9518 | -0.6426 | negative_batter_regression | 0.2510 | 0.1950 | 0.2690 | 2 | 17.60 | 83.80 | 13.90 | 24.70 | 28 | 8.50 | -1.6571 |
| C | Sebastián Rivero | 406 | 0.9519 | -0.6420 | positive_batter_regression | 0.2180 | 0.2020 | 0.2310 | 0 | 11.10 | 83.40 | 19.40 | 28.60 | 21.60 | 5.40 | 2 |
| RF | Jo Adell | 426 | 1.0618 | 0.8238 | positive_batter_regression | 0.3360 | 0.2690 | 0.4560 | 8.90 | 47.20 | 91.70 | 19.30 | 26.70 | 24 | 3.10 | 0.9143 |
| 3B | Donovan Walton | 388 | 1.0076 | 0.1014 | positive_batter_regression | 0.2770 | 0.2040 | 0.3650 | 12.50 | 50 | 87.60 | 6.40 | 37.90 | 30.80 | 7.70 | 2 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3B | Colt Keith | 324 | 1.0059 | 0.0784 | neutral | 0.3060 | 0.2650 | 0.3960 | 5.20 | 39.70 | 89.10 | 13.70 | 22.80 | 21.40 | 5 | -0.0286 |
| LF | Riley Greene | 58 | 1.0918 | 1.2246 | neutral | 0.3730 | 0.2700 | 0.4820 | 12.80 | 50.40 | 90.60 | 15.70 | 28.60 | 27.60 | 13.20 | -0.2286 |
| DH | Dillon Dingler | 48 | 1.1146 | 1.5282 | positive_batter_regression | 0.3880 | 0.2850 | 0.5360 | 13.60 | 49.60 | 90.10 | 14.40 | 21.30 | 21.50 | 9 | 1.4000 |
| SS | Kevin McGonigle | 5 | 1.0784 | 1.0455 | neutral | 0.3740 | 0.2760 | 0.4700 | 9.50 | 37.30 | 88 | 20.40 | 13.10 | 12.90 | 13.70 | 0.0857 |
| 2B | Zach McKinstry | 520 | 0.9594 | -0.5408 | neutral | 0.2390 | 0.2040 | 0.2750 | 1.20 | 21 | 83.60 | 13.10 | 15.80 | 17.60 | 7.40 | 0.8286 |
| CF | Matt Vierling | 480 | 1.0201 | 0.2681 | positive_batter_regression | 0.3230 | 0.2660 | 0.4050 | 6.20 | 36 | 87.10 | 16.30 | 16.60 | 17.40 | 9 | 0.9429 |
| RF | Wenceel Pérez | 522 | 0.9831 | -0.2255 | positive_batter_regression | 0.2670 | 0.2060 | 0.3460 | 7 | 36 | 87.80 | 14.10 | 17.40 | 15.50 | 7 | 1.2000 |
| 1B | Spencer Torkelson | 511 | 1.0363 | 0.4845 | neutral | 0.3210 | 0.2080 | 0.4020 | 13.60 | 43.20 | 90.10 | 19.50 | 28.90 | 32.40 | 12.60 | 0.3429 |
| C | Jake Rogers | 442 | 0.9740 | -0.3464 | positive_batter_regression | 0.2420 | 0.1780 | 0.2930 | 9.10 | 36.40 | 86.60 | 35.90 | 28.70 | 29.60 | 7.40 | 0.9429 |
{
"home": {
"applied": true,
"offense_factor": 1.0293,
"raw_average_factor": 1.0293,
"team_espn_average_rank": 323.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "3B",
"player_id": "690993",
"player_name": "Colt Keith",
"offense_factor": 1.0059,
"quality_score": 0.0784,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "690993",
"espn_id": 4683384,
"player_name": "Colt Keith",
"team": "DET",
"role": "batter",
"espn_rank": 324,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 324,
"gp_value": 51.0,
"gp_rank": 117,
"ab_value": 152.0,
"ab_rank": 168,
"r_value": 21.0,
"r_rank": 133,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.2960526,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 7.0,
"rbi_rank": 321,
"tb_value": 55.0,
"tb_rank": 1468,
"bb_value": 8.0,
"bb_rank": 269,
"so_value": 35.0,
"so_rank": 163,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3333333,
"obp_rank": "-",
"slg_value": 0.3618421,
"slg_rank": "-",
"ops_value": 0.6951754,
"ops_rank": null,
"war_value": 0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 153.0,
"k_percent": 21.4,
"bb_percent": 5.0,
"woba": 0.307,
"xwoba": 0.306,
"xba": 0.265,
"xslg": 0.396,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 5.2,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 13.7,
"whiff_percent": 22.8,
"swing_percent": 43.1
},
"components": {
"expected_quality": 0.1358,
"regression_edge": -0.0286,
"xwoba_edge": 0.0286,
"xba_edge": 0.8,
"xslg_edge": 0.3214,
"barrel_edge": -0.4111,
"hard_hit_edge": 0.1071,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "682985",
"player_name": "Riley Greene",
"offense_factor": 1.0918,
"quality_score": 1.2246,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "682985",
"espn_id": 42179,
"player_name": "Riley Greene",
"team": "DET",
"role": "batter",
"espn_rank": 58,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 58,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 200.0,
"ab_rank": 51,
"r_value": 30.0,
"r_rank": 51,
"h_value": 61.0,
"h_rank": 10,
"avg_value": 0.305,
"avg_rank": 8.0,
"2b_value": 15.0,
"2b_rank": 5,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 25.0,
"rbi_rank": 87,
"tb_value": 88.0,
"tb_rank": 785,
"bb_value": 30.0,
"bb_rank": 27,
"so_value": 65.0,
"so_rank": 19,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.400862,
"obp_rank": "4",
"slg_value": 0.44,
"slg_rank": "59",
"ops_value": 0.840862,
"ops_rank": 35.0,
"war_value": 1.48,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 27.6,
"bb_percent": 13.2,
"woba": 0.381,
"xwoba": 0.373,
"xba": 0.27,
"xslg": 0.482,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 12.8,
"hard_hit_percent": 50.4,
"exit_velocity_avg": 90.6,
"launch_angle_avg": 15.7,
"whiff_percent": 28.6,
"swing_percent": 43.8
},
"components": {
"expected_quality": 1.4612,
"regression_edge": -0.2286,
"xwoba_edge": 1.9429,
"xba_edge": 0.9429,
"xslg_edge": 1.55,
"barrel_edge": 1.2778,
"hard_hit_edge": 1.6357,
"exit_velocity_edge": 0.72,
"sweet_spot_edge": 1.2167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "693307",
"player_name": "Dillon Dingler",
"offense_factor": 1.1146,
"quality_score": 1.5282,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "693307",
"espn_id": 4345620,
"player_name": "Dillon Dingler",
"team": "DET",
"role": "batter",
"espn_rank": 48,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 48,
"gp_value": 50.0,
"gp_rank": 135,
"ab_value": 179.0,
"ab_rank": 119,
"r_value": 22.0,
"r_rank": 120,
"h_value": 42.0,
"h_rank": 120,
"avg_value": 0.2346368,
"avg_rank": 106.0,
"2b_value": 11.0,
"2b_rank": 42,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 10.0,
"hr_rank": 36,
"rbi_value": 32.0,
"rbi_rank": 31,
"tb_value": 83.0,
"tb_rank": 578,
"bb_value": 19.0,
"bb_rank": 100,
"so_value": 43.0,
"so_rank": 103,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3217821,
"obp_rank": "96",
"slg_value": 0.4636871,
"slg_rank": "42",
"ops_value": 0.7854692,
"ops_rank": 59.0,
"war_value": 1.61,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 195.0,
"k_percent": 21.5,
"bb_percent": 9.0,
"woba": 0.339,
"xwoba": 0.388,
"xba": 0.285,
"xslg": 0.536,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 49.6,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 14.4,
"whiff_percent": 21.3,
"swing_percent": 47.8
},
"components": {
"expected_quality": 1.7769,
"regression_edge": 1.4,
"xwoba_edge": 2.3714,
"xba_edge": 1.3714,
"xslg_edge": 2.3214,
"barrel_edge": 1.4556,
"hard_hit_edge": 1.5214,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"offense_factor": 1.0784,
"quality_score": 1.0455,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805808",
"espn_id": 5149072,
"player_name": "Kevin McGonigle",
"team": "DET",
"role": "batter",
"espn_rank": 5,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 5,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 202.0,
"ab_rank": 42,
"r_value": 35.0,
"r_rank": 24,
"h_value": 60.0,
"h_rank": 14,
"avg_value": 0.2970297,
"avg_rank": 18.0,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 3.0,
"3b_rank": 3,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 87.0,
"tb_rank": 616,
"bb_value": 33.0,
"bb_rank": 17,
"so_value": 30.0,
"so_rank": 203,
"sb_value": 8.0,
"sb_rank": 33,
"obp_value": 0.4008438,
"obp_rank": "4",
"slg_value": 0.430693,
"slg_rank": "67",
"ops_value": 0.8315368,
"ops_rank": 40.0,
"war_value": 3.06,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 229.0,
"k_percent": 12.9,
"bb_percent": 13.7,
"woba": 0.371,
"xwoba": 0.374,
"xba": 0.276,
"xslg": 0.47,
"sweet_spot_percent": 40.2,
"barrel_batted_rate": 9.5,
"hard_hit_percent": 37.3,
"exit_velocity_avg": 88.0,
"launch_angle_avg": 20.4,
"whiff_percent": 13.1,
"swing_percent": 41.6
},
"components": {
"expected_quality": 1.2017,
"regression_edge": 0.0857,
"xwoba_edge": 1.9714,
"xba_edge": 1.1143,
"xslg_edge": 1.3786,
"barrel_edge": 0.5444,
"hard_hit_edge": -0.2357,
"exit_velocity_edge": -0.32,
"sweet_spot_edge": 1.15,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "656716",
"player_name": "Zach McKinstry",
"offense_factor": 0.9594,
"quality_score": -0.5408,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656716",
"espn_id": 38420,
"player_name": "Zach McKinstry",
"team": "DET",
"role": "batter",
"espn_rank": 520,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 520,
"gp_value": 34.0,
"gp_rank": 280,
"ab_value": 101.0,
"ab_rank": 266,
"r_value": 2.0,
"r_rank": 432,
"h_value": 17.0,
"h_rank": 313,
"avg_value": 0.1683168,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 9.0,
"rbi_rank": 288,
"tb_value": 23.0,
"tb_rank": 1827,
"bb_value": 9.0,
"bb_rank": 254,
"so_value": 20.0,
"so_rank": 303,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2321428,
"obp_rank": "-",
"slg_value": 0.2277227,
"slg_rank": "-",
"ops_value": 0.4598655,
"ops_rank": null,
"war_value": -0.96,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 103.0,
"k_percent": 17.6,
"bb_percent": 7.4,
"woba": 0.21,
"xwoba": 0.239,
"xba": 0.204,
"xslg": 0.275,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 1.2,
"hard_hit_percent": 21.0,
"exit_velocity_avg": 83.6,
"launch_angle_avg": 13.1,
"whiff_percent": 15.8,
"swing_percent": 51.7
},
"components": {
"expected_quality": -1.4781,
"regression_edge": 0.8286,
"xwoba_edge": -1.8857,
"xba_edge": -0.9429,
"xslg_edge": -1.4071,
"barrel_edge": -1.3,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.08,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "663837",
"player_name": "Matt Vierling",
"offense_factor": 1.0201,
"quality_score": 0.2681,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663837",
"espn_id": 41636,
"player_name": "Matt Vierling",
"team": "DET",
"role": "batter",
"espn_rank": 480,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 480,
"gp_value": 46.0,
"gp_rank": 175,
"ab_value": 139.0,
"ab_rank": 195,
"r_value": 13.0,
"r_rank": 244,
"h_value": 30.0,
"h_rank": 203,
"avg_value": 0.2158273,
"avg_rank": null,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 51.0,
"tb_rank": 1054,
"bb_value": 14.0,
"bb_rank": 164,
"so_value": 27.0,
"so_rank": 229,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.2820512,
"obp_rank": "-",
"slg_value": 0.3669064,
"slg_rank": "-",
"ops_value": 0.6489576,
"ops_rank": null,
"war_value": -0.43,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 150.0,
"k_percent": 17.4,
"bb_percent": 9.0,
"woba": 0.29,
"xwoba": 0.323,
"xba": 0.266,
"xslg": 0.405,
"sweet_spot_percent": 36.8,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.1,
"launch_angle_avg": 16.3,
"whiff_percent": 16.6,
"swing_percent": 46.3
},
"components": {
"expected_quality": 0.3038,
"regression_edge": 0.9429,
"xwoba_edge": 0.5143,
"xba_edge": 0.8286,
"xslg_edge": 0.45,
"barrel_edge": -0.1889,
"hard_hit_edge": -0.4214,
"exit_velocity_edge": -0.68,
"sweet_spot_edge": 0.5833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "672761",
"player_name": "Wenceel Pérez",
"offense_factor": 0.9831,
"quality_score": -0.2255,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "672761",
"espn_id": 41586,
"player_name": "Wenceel Perez",
"team": "DET",
"role": "batter",
"espn_rank": 522,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 522,
"gp_value": 40.0,
"gp_rank": 235,
"ab_value": 123.0,
"ab_rank": 215,
"r_value": 15.0,
"r_rank": 214,
"h_value": 20.0,
"h_rank": 285,
"avg_value": 0.1626016,
"avg_rank": null,
"2b_value": 3.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 9.0,
"rbi_rank": 288,
"tb_value": 32.0,
"tb_rank": 1454,
"bb_value": 10.0,
"bb_rank": 239,
"so_value": 20.0,
"so_rank": 303,
"sb_value": 3.0,
"sb_rank": 119,
"obp_value": 0.2255639,
"obp_rank": "-",
"slg_value": 0.2601626,
"slg_rank": "-",
"ops_value": 0.4857265,
"ops_rank": null,
"war_value": -1.0,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 127.0,
"k_percent": 15.5,
"bb_percent": 7.0,
"woba": 0.225,
"xwoba": 0.267,
"xba": 0.206,
"xslg": 0.346,
"sweet_spot_percent": 24.0,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 36.0,
"exit_velocity_avg": 87.8,
"launch_angle_avg": 14.1,
"whiff_percent": 17.4,
"swing_percent": 47.6
},
"components": {
"expected_quality": -0.6495,
"regression_edge": 1.2,
"xwoba_edge": -1.0857,
"xba_edge": -0.8857,
"xslg_edge": -0.3929,
"barrel_edge": -0.0111,
"hard_hit_edge": -0.4214,
"exit_velocity_edge": -0.4,
"sweet_spot_edge": -1.55,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"offense_factor": 1.0363,
"quality_score": 0.4845,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "679529",
"espn_id": 4424286,
"player_name": "Spencer Torkelson",
"team": "DET",
"role": "batter",
"espn_rank": 511,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 511,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 181.0,
"ab_rank": 113,
"r_value": 18.0,
"r_rank": 173,
"h_value": 38.0,
"h_rank": 149,
"avg_value": 0.2099447,
"avg_rank": 152.0,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 8.0,
"hr_rank": 51,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 74.0,
"tb_rank": 633,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 68.0,
"so_rank": 14,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3175355,
"obp_rank": "104",
"slg_value": 0.4088397,
"slg_rank": "84",
"ops_value": 0.7263752,
"ops_rank": 90.0,
"war_value": -0.65,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 205.0,
"k_percent": 32.4,
"bb_percent": 12.6,
"woba": 0.309,
"xwoba": 0.321,
"xba": 0.208,
"xslg": 0.402,
"sweet_spot_percent": 46.8,
"barrel_batted_rate": 13.6,
"hard_hit_percent": 43.2,
"exit_velocity_avg": 90.1,
"launch_angle_avg": 19.5,
"whiff_percent": 28.9,
"swing_percent": 41.7
},
"components": {
"expected_quality": 0.5488,
"regression_edge": 0.3429,
"xwoba_edge": 0.4571,
"xba_edge": -0.8286,
"xslg_edge": 0.4071,
"barrel_edge": 1.4556,
"hard_hit_edge": 0.6071,
"exit_velocity_edge": 0.52,
"sweet_spot_edge": 2.25,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "C",
"player_id": "668670",
"player_name": "Jake Rogers",
"offense_factor": 0.974,
"quality_score": -0.3464,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668670",
"espn_id": 39900,
"player_name": "Jake Rogers",
"team": "DET",
"role": "batter",
"espn_rank": 442,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 442,
"gp_value": 16.0,
"gp_rank": 397,
"ab_value": 47.0,
"ab_rank": 384,
"r_value": 4.0,
"r_rank": 388,
"h_value": 7.0,
"h_rank": 411,
"avg_value": 0.1489361,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 4.0,
"rbi_rank": 383,
"tb_value": 11.0,
"tb_rank": 2001,
"bb_value": 4.0,
"bb_rank": 360,
"so_value": 16.0,
"so_rank": 347,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2222222,
"obp_rank": "-",
"slg_value": 0.2340425,
"slg_rank": "-",
"ops_value": 0.4562647,
"ops_rank": null,
"war_value": -0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 47.0,
"k_percent": 29.6,
"bb_percent": 7.4,
"woba": 0.209,
"xwoba": 0.242,
"xba": 0.178,
"xslg": 0.293,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 9.1,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 86.6,
"launch_angle_avg": 35.9,
"whiff_percent": 28.7,
"swing_percent": 43.3
},
"components": {
"expected_quality": -1.0486,
"regression_edge": 0.9429,
"xwoba_edge": -1.8,
"xba_edge": -1.6857,
"xslg_edge": -1.15,
"barrel_edge": 0.4556,
"hard_hit_edge": -0.3643,
"exit_velocity_edge": -0.88,
"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": 1.0246,
"raw_average_factor": 1.0246,
"team_espn_average_rank": 277.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"offense_factor": 1.0332,
"quality_score": 0.4431,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "687093",
"espn_id": 42503,
"player_name": "Vaughn Grissom",
"team": "LAA",
"role": "batter",
"espn_rank": 384,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 384,
"gp_value": 33.0,
"gp_rank": 290,
"ab_value": 106.0,
"ab_rank": 254,
"r_value": 8.0,
"r_rank": 327,
"h_value": 24.0,
"h_rank": 247,
"avg_value": 0.226415,
"avg_rank": null,
"2b_value": 6.0,
"2b_rank": 179,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 19.0,
"rbi_rank": 152,
"tb_value": 39.0,
"tb_rank": 1307,
"bb_value": 12.0,
"bb_rank": 201,
"so_value": 12.0,
"so_rank": 382,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3057851,
"obp_rank": "-",
"slg_value": 0.3679245,
"slg_rank": "-",
"ops_value": 0.6737096,
"ops_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 112.0,
"k_percent": 9.3,
"bb_percent": 9.3,
"woba": 0.307,
"xwoba": 0.347,
"xba": 0.27,
"xslg": 0.434,
"sweet_spot_percent": 28.7,
"barrel_batted_rate": 6.4,
"hard_hit_percent": 47.9,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 11.8,
"whiff_percent": 18.8,
"swing_percent": 46.5
},
"components": {
"expected_quality": 0.8261,
"regression_edge": 1.1429,
"xwoba_edge": 1.2,
"xba_edge": 0.9429,
"xslg_edge": 0.8643,
"barrel_edge": -0.1444,
"hard_hit_edge": 1.2786,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": -0.7667,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "687263",
"player_name": "Zach Neto",
"offense_factor": 1.0258,
"quality_score": 0.3444,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "687263",
"espn_id": 4666100,
"player_name": "Zach Neto",
"team": "LAA",
"role": "batter",
"espn_rank": 57,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 57,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 219.0,
"ab_rank": 11,
"r_value": 38.0,
"r_rank": 10,
"h_value": 50.0,
"h_rank": 71,
"avg_value": 0.2283105,
"avg_rank": 121.0,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 10.0,
"hr_rank": 36,
"rbi_value": 25.0,
"rbi_rank": 87,
"tb_value": 94.0,
"tb_rank": 284,
"bb_value": 31.0,
"bb_rank": 22,
"so_value": 79.0,
"so_rank": 2,
"sb_value": 7.0,
"sb_rank": 42,
"obp_value": 0.3359375,
"obp_rank": "74",
"slg_value": 0.4292237,
"slg_rank": "69",
"ops_value": 0.7651612,
"ops_rank": 71.0,
"war_value": 1.49,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 244.0,
"k_percent": 30.6,
"bb_percent": 12.3,
"woba": 0.346,
"xwoba": 0.329,
"xba": 0.214,
"xslg": 0.419,
"sweet_spot_percent": 36.0,
"barrel_batted_rate": 12.2,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 22.5,
"whiff_percent": 30.3,
"swing_percent": 49.6
},
"components": {
"expected_quality": 0.4796,
"regression_edge": -0.4857,
"xwoba_edge": 0.6857,
"xba_edge": -0.6571,
"xslg_edge": 0.65,
"barrel_edge": 1.1444,
"hard_hit_edge": -0.0214,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.45,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "624585",
"player_name": "Jorge Soler",
"offense_factor": 1.0177,
"quality_score": 0.2362,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "624585",
"espn_id": 32558,
"player_name": "Jorge Soler",
"team": "LAA",
"role": "batter",
"espn_rank": 348,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 348,
"gp_value": 52.0,
"gp_rank": 100,
"ab_value": 191.0,
"ab_rank": 86,
"r_value": 25.0,
"r_rank": 81,
"h_value": 41.0,
"h_rank": 128,
"avg_value": 0.2146596,
"avg_rank": 140.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 9.0,
"hr_rank": 41,
"rbi_value": 30.0,
"rbi_rank": 41,
"tb_value": 77.0,
"tb_rank": 640,
"bb_value": 20.0,
"bb_rank": 89,
"so_value": 68.0,
"so_rank": 14,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2981651,
"obp_rank": "129",
"slg_value": 0.4031413,
"slg_rank": "87",
"ops_value": 0.7013064,
"ops_rank": 106.0,
"war_value": -0.03,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 206.0,
"k_percent": 30.8,
"bb_percent": 9.3,
"woba": 0.313,
"xwoba": 0.315,
"xba": 0.222,
"xslg": 0.407,
"sweet_spot_percent": 34.7,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 43.5,
"exit_velocity_avg": 88.7,
"launch_angle_avg": 14.8,
"whiff_percent": 35.2,
"swing_percent": 47.1
},
"components": {
"expected_quality": 0.284,
"regression_edge": 0.0571,
"xwoba_edge": 0.2857,
"xba_edge": -0.4286,
"xslg_edge": 0.4786,
"barrel_edge": 0.9444,
"hard_hit_edge": 0.65,
"exit_velocity_edge": -0.04,
"sweet_spot_edge": 0.2333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "545361",
"player_name": "Mike Trout",
"offense_factor": 1.133,
"quality_score": 1.773,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "545361",
"espn_id": 30836,
"player_name": "Mike Trout",
"team": "LAA",
"role": "batter",
"espn_rank": 19,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 19,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 194.0,
"ab_rank": 76,
"r_value": 40.0,
"r_rank": 5,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.2319587,
"avg_rank": 114.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 13.0,
"hr_rank": 12,
"rbi_value": 28.0,
"rbi_rank": 54,
"tb_value": 92.0,
"tb_rank": 560,
"bb_value": 50.0,
"bb_rank": 2,
"so_value": 59.0,
"so_rank": 25,
"sb_value": 5.0,
"sb_rank": 70,
"obp_value": 0.3967611,
"obp_rank": "8",
"slg_value": 0.4742268,
"slg_rank": "36",
"ops_value": 0.8709879,
"ops_rank": 23.0,
"war_value": 2.2,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 230.0,
"k_percent": 23.9,
"bb_percent": 19.8,
"woba": 0.384,
"xwoba": 0.414,
"xba": 0.254,
"xslg": 0.568,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 20.3,
"hard_hit_percent": 47.8,
"exit_velocity_avg": 91.0,
"launch_angle_avg": 20.7,
"whiff_percent": 21.7,
"swing_percent": 37.2
},
"components": {
"expected_quality": 1.9221,
"regression_edge": 0.8571,
"xwoba_edge": 2.5,
"xba_edge": 0.4857,
"xslg_edge": 2.5,
"barrel_edge": 2.5,
"hard_hit_edge": 1.2643,
"exit_velocity_edge": 0.88,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "LF",
"player_id": "685133",
"player_name": "Wade Meckler",
"offense_factor": 1.0387,
"quality_score": 0.5165,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "685133",
"espn_id": 4424090,
"player_name": "Wade Meckler",
"team": "LAA",
"role": "batter",
"espn_rank": 257,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 257,
"gp_value": 5.0,
"gp_rank": 484,
"ab_value": 14.0,
"ab_rank": 472,
"r_value": 1.0,
"r_rank": 457,
"h_value": 6.0,
"h_rank": 415,
"avg_value": 0.4285714,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 450,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 3.0,
"rbi_rank": 403,
"tb_value": 9.0,
"tb_rank": 2091,
"bb_value": 1.0,
"bb_rank": 439,
"so_value": 1.0,
"so_rank": 506,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.4666666,
"obp_rank": "-",
"slg_value": 0.6428571,
"slg_rank": "-",
"ops_value": 1.1095237,
"ops_rank": null,
"war_value": 0.18,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 10.0,
"k_percent": 8.3,
"bb_percent": 8.3,
"woba": 0.607,
"xwoba": 0.481,
"xba": 0.378,
"xslg": 0.708,
"sweet_spot_percent": 50.0,
"barrel_batted_rate": 10.0,
"hard_hit_percent": 40.0,
"exit_velocity_avg": 82.0,
"launch_angle_avg": -5.3,
"whiff_percent": 26.3,
"swing_percent": 55.9
},
"components": {
"expected_quality": 1.6603,
"regression_edge": -2.0,
"xwoba_edge": 2.5,
"xba_edge": 2.5,
"xslg_edge": 2.5,
"barrel_edge": 0.6556,
"hard_hit_edge": 0.15,
"exit_velocity_edge": -2.5,
"sweet_spot_edge": 2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "2B",
"player_id": "624428",
"player_name": "Adam Frazier",
"offense_factor": 0.9518,
"quality_score": -0.6426,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "624428",
"espn_id": 33546,
"player_name": "Adam Frazier",
"team": "LAA",
"role": "batter",
"espn_rank": 212,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 212,
"gp_value": 35.0,
"gp_rank": 271,
"ab_value": 72.0,
"ab_rank": 330,
"r_value": 13.0,
"r_rank": 244,
"h_value": 17.0,
"h_rank": 313,
"avg_value": 0.2361111,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 6.0,
"rbi_rank": 343,
"tb_value": 27.0,
"tb_rank": 1531,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 23.0,
"so_rank": 268,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3125,
"obp_rank": "-",
"slg_value": 0.375,
"slg_rank": "-",
"ops_value": 0.6875,
"ops_rank": null,
"war_value": 0.3,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 77.0,
"k_percent": 28.0,
"bb_percent": 8.5,
"woba": 0.309,
"xwoba": 0.251,
"xba": 0.195,
"xslg": 0.269,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 2.0,
"hard_hit_percent": 17.6,
"exit_velocity_avg": 83.8,
"launch_angle_avg": 13.9,
"whiff_percent": 24.7,
"swing_percent": 54.7
},
"components": {
"expected_quality": -1.3907,
"regression_edge": -1.6571,
"xwoba_edge": -1.5429,
"xba_edge": -1.2,
"xslg_edge": -1.4929,
"barrel_edge": -1.1222,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.0,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "665861",
"player_name": "Sebastián Rivero",
"offense_factor": 0.9519,
"quality_score": -0.642,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "665861",
"espn_id": 41447,
"player_name": "Sebastian Rivero",
"team": "LAA",
"role": "batter",
"espn_rank": 406,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 406,
"gp_value": 19.0,
"gp_rank": 374,
"ab_value": 34.0,
"ab_rank": 411,
"r_value": 1.0,
"r_rank": 457,
"h_value": 4.0,
"h_rank": 439,
"avg_value": 0.117647,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 450,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 0.0,
"rbi_rank": 477,
"tb_value": 4.0,
"tb_rank": 2367,
"bb_value": 2.0,
"bb_rank": 408,
"so_value": 8.0,
"so_rank": 419,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.1666666,
"obp_rank": "-",
"slg_value": 0.117647,
"slg_rank": "-",
"ops_value": 0.2843136,
"ops_rank": null,
"war_value": -0.16,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 33.0,
"k_percent": 21.6,
"bb_percent": 5.4,
"woba": 0.139,
"xwoba": 0.218,
"xba": 0.202,
"xslg": 0.231,
"sweet_spot_percent": 11.1,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 11.1,
"exit_velocity_avg": 83.4,
"launch_angle_avg": 19.4,
"whiff_percent": 28.6,
"swing_percent": 61.6
},
"components": {
"expected_quality": -1.9844,
"regression_edge": 2.0,
"xwoba_edge": -2.4857,
"xba_edge": -1.0,
"xslg_edge": -2.0357,
"barrel_edge": -1.5667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -2.16,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "666176",
"player_name": "Jo Adell",
"offense_factor": 1.0618,
"quality_score": 0.8238,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "666176",
"espn_id": 40854,
"player_name": "Jo Adell",
"team": "LAA",
"role": "batter",
"espn_rank": 426,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 426,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 215.0,
"ab_rank": 18,
"r_value": 19.0,
"r_rank": 161,
"h_value": 52.0,
"h_rank": 58,
"avg_value": 0.2418604,
"avg_rank": 97.0,
"2b_value": 7.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 8.0,
"hr_rank": 51,
"rbi_value": 29.0,
"rbi_rank": 46,
"tb_value": 83.0,
"tb_rank": 667,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 56.0,
"so_rank": 36,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.2887931,
"obp_rank": "137",
"slg_value": 0.3860465,
"slg_rank": "106",
"ops_value": 0.6748396,
"ops_rank": 125.0,
"war_value": -0.23,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 221.0,
"k_percent": 24.0,
"bb_percent": 3.1,
"woba": 0.304,
"xwoba": 0.336,
"xba": 0.269,
"xslg": 0.456,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 8.9,
"hard_hit_percent": 47.2,
"exit_velocity_avg": 91.7,
"launch_angle_avg": 19.3,
"whiff_percent": 26.7,
"swing_percent": 55.9
},
"components": {
"expected_quality": 0.8091,
"regression_edge": 0.9143,
"xwoba_edge": 0.8857,
"xba_edge": 0.9143,
"xslg_edge": 1.1786,
"barrel_edge": 0.4111,
"hard_hit_edge": 1.1786,
"exit_velocity_edge": 1.16,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "3B",
"player_id": "622268",
"player_name": "Donovan Walton",
"offense_factor": 1.0076,
"quality_score": 0.1014,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "622268",
"espn_id": 37232,
"player_name": "Donovan Walton",
"team": "LAA",
"role": "batter",
"espn_rank": 388,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 388,
"gp_value": 5.0,
"gp_rank": 484,
"ab_value": 15.0,
"ab_rank": 470,
"r_value": 2.0,
"r_rank": 432,
"h_value": 2.0,
"h_rank": 465,
"avg_value": 0.1333333,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 0.0,
"rbi_rank": 477,
"tb_value": 3.0,
"tb_rank": 2338,
"bb_value": 1.0,
"bb_rank": 439,
"so_value": 5.0,
"so_rank": 455,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.1875,
"obp_rank": "-",
"slg_value": 0.2,
"slg_rank": "-",
"ops_value": 0.3875,
"ops_rank": null,
"war_value": -0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 12.0,
"k_percent": 30.8,
"bb_percent": 7.7,
"woba": 0.152,
"xwoba": 0.277,
"xba": 0.204,
"xslg": 0.365,
"sweet_spot_percent": 62.5,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 50.0,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 6.4,
"whiff_percent": 37.9,
"swing_percent": 51.8
},
"components": {
"expected_quality": -0.0637,
"regression_edge": 2.0,
"xwoba_edge": -0.8,
"xba_edge": -0.9429,
"xslg_edge": -0.1214,
"barrel_edge": 1.2111,
"hard_hit_edge": 1.5786,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 2.5,
"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 LAA | True | 565 | -0.5581 | 0.4500 | 1.0474 | 0.9812 | 1.0324 | 1.0958 | neutral | 0.4290 | 0.4230 | 19.60 | 13 | 21.60 | 12.90 | 45.20 | |
| Home DET | True | 639 | -0.5049 | 0.8120 | 1.0429 | 1.0009 | 1.0568 | 1.1023 | neutral | 0.3510 | 0.3700 | 24.40 | 12.90 | 24.30 | 9.60 | 47.10 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away LAA | True | None | 79 | 88.87 | 2219 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.0457 | |
| Home DET | True | None | 88 | 87.41 | 2294 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.1276 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0348 |
| home_runs_vs_away_pitcher | 1.0213 |
| home_pitcher_quality_edge | 0.0532 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "656427",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 203.0,
"k_percent": 24.4,
"bb_percent": 12.9,
"woba": 0.37,
"xwoba": 0.351,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 47.1,
"avg_best_speed": 81.2442,
"avg_hyper_speed": 95.0829,
"whiff_percent": 24.3,
"swing_percent": 43.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.1244,
"command_and_miss": -0.1393,
"regression_edge": 0.5429,
"xwoba_edge": -1.2,
"barrel_edge": -0.5111,
"hard_hit_edge": -1.2286,
"whiff_edge": -0.2286,
"bb_edge": -0.875,
"pitch_design_score": -0.1276
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656427",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.40818183405942,
"release_spin_rate": 2294.086410359278,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88,
"pitch_usage": 0.0,
"release_speed": 87.40818183405942,
"release_spin_rate": 2294.086410359278,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4082,
"release_spin_rate": 2294.0864,
"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.1276,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9118,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.5049,
"sample_weight": 0.812,
"run_prevention_factor": 1.0429,
"strikeout_factor": 1.0009,
"walk_factor": 1.0568,
"homer_factor": 1.1023,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656427",
"espn_id": 33837,
"player_name": "Jack Flaherty",
"team": "DET",
"role": "pitcher",
"espn_rank": 639,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 639,
"gp_value": 11.0,
"gp_rank": 245,
"gs_value": 11.0,
"gs_rank": 16,
"qs_value": 1.0,
"qs_rank": 122,
"era_value": 5.9361,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 6.0,
"l_rank": 4,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 47.0,
"ip_rank": 111,
"h_value": 49.0,
"h_rank": 81,
"er_value": 31.0,
"er_rank": 23,
"hr_value": 8.0,
"hr_rank": 41,
"bb_value": 29.0,
"bb_rank": 8,
"k_value": 55.0,
"k_rank": 51,
"k_per_9_value": 10.531915,
"k_per_9_rank": 12,
"whip_value": 1.6595,
"whip_rank": null,
"war_value": -0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "680570",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 21.0,
"k_percent": 19.6,
"bb_percent": 13.0,
"woba": 0.423,
"xwoba": 0.429,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 45.2,
"avg_best_speed": 81.1704,
"avg_hyper_speed": 94.6123,
"whiff_percent": 21.6,
"swing_percent": 42.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.9047,
"command_and_miss": -0.5879,
"regression_edge": -0.1714,
"xwoba_edge": -2.5,
"barrel_edge": -1.2444,
"hard_hit_edge": -0.9571,
"whiff_edge": -0.6143,
"bb_edge": -0.9,
"pitch_design_score": -0.0457
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 88.87088607594937,
"release_spin_rate": 2219.0506329113923,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 88.87088607594937,
"release_spin_rate": 2219.0506329113923,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8709,
"release_spin_rate": 2219.0506,
"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.0457,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3267,
"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.5581,
"sample_weight": 0.45,
"run_prevention_factor": 1.0474,
"strikeout_factor": 0.9812,
"walk_factor": 1.0324,
"homer_factor": 1.0958,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680570",
"espn_id": 41196,
"player_name": "Grayson Rodriguez",
"team": "LAA",
"role": "pitcher",
"espn_rank": 565,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 565,
"gp_value": 2.0,
"gp_rank": 535,
"gs_value": 2.0,
"gs_rank": 187,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 10.6071,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 9.1,
"ip_rank": 444,
"h_value": 14.0,
"h_rank": 354,
"er_value": 11.0,
"er_rank": 220,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 6.0,
"bb_rank": 371,
"k_value": 9.0,
"k_rank": 435,
"k_per_9_value": 8.678572,
"k_per_9_rank": 26,
"whip_value": 2.1428,
"whip_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0348,
"home_runs_vs_away_pitcher": 1.0213,
"home_pitcher_quality_edge": 0.0532
},
"score_before": {
"away_runs": 1.8748,
"home_runs": 4.6595
},
"score_after": {
"away_runs": 1.9401,
"home_runs": 4.7589,
"home_win_probability": 0.7406
},
"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 LAA | 9-45 | 0.167 | 1 | 4.20 | -175 | cold | average | |
| Home DET | 15-40 | 0.273 | 1 | 3.20 | -119 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away LAA | 21-35 | 0.375 | -62 | -1.107 | True |
| Home DET | 22-34 | 0.393 | -25 | -0.446 | True |
| Signal | - | - | 0.661 | 0.688 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target LAA | - | - | 4 | - | - | - | - |
| Game target DET | - | - | 5 | - | - | - | - |
| Player finalized LAA | 65 | 14 | 9 | 0 | 7 | 6 | 17 |
| Player finalized DET | 65 | 15 | 8 | 0 | 7 | 9 | 16 |
| Player model fractional LAA | 62.96 | 13.80 | 7.95 | 2.27 | 7.75 | 7.46 | 16.93 |
| Player model fractional DET | 65.48 | 15.70 | 7.74 | 1.74 | 7.38 | 7.87 | 16.11 |
| Simulation box LAA | 35 | 8 | 4 | 1 | 4 | 7 | 9 |
| Simulation box DET | 32 | 8 | 7 | 2 | 7 | 5 | 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 LAA | Starter | Grayson Rodriguez | 4.10 | 6 | 2 | 6 | 5 | 6.06 | 1.55 | True |
| Away LAA | Middle Reliever | Sam Bachman | 1.10 | 0 | 1 | 0 | 0 | 2.73 | 1.12 | True |
| Away LAA | Middle Reliever | Kirby Yates | 1 | 0 | 0 | 0 | 0 | 3.85 | 1.23 | True |
| Away LAA | Middle Reliever | José Fermin | 0.20 | 0 | 1 | 0 | 0 | 3.37 | 1.49 | True |
| Away LAA | Middle Reliever | Brent Suter | 0.20 | 1 | 1 | 2 | 0 | 4.68 | 1.33 | True |
| Away LAA | Middle Reliever | Ryan Zeferjahn | 0 | 0 | 0 | 0 | 0 | 4.79 | 1.46 | True |
| Home DET | Starter | Jack Flaherty | 4.10 | 3 | 5 | 5 | 7 | 5.67 | 1.52 | True |
| Home DET | Middle Reliever | Drew Anderson | 1.20 | 0 | 1 | 1 | 0 | 2.45 | 1.05 | True |
| Home DET | Middle Reliever | Kenley Jansen | 1 | 1 | 1 | 2 | 0 | 4.53 | 1.24 | True |
| Home DET | Middle Reliever | Kyle Finnegan | 1 | 0 | 0 | 0 | 0 | 3.32 | 1.53 | True |
| Home DET | Middle Reliever | Will Vest | 1 | 0 | 2 | 0 | 0 | 6.03 | 1.35 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | DET | batter | DH | Dillon Dingler | better | 10 | 7 | 3 | 8 | 2 | predicted_RBI | 2.3800 | boost | better |
| home | DET | batter | 3B | Colt Keith | better | 11 | 7 | 4 | 8 | 3 | predicted_RBI | 1.7700 | boost | better |
| home | DET | batter | CF | Matt Vierling | better | 10 | 5 | 5 | 6 | 4 | predicted_H | 1.7400 | boost | better |
| away | LAA | batter | 3B | Donovan Walton | better | 11 | 5 | 6 | 6 | 5 | predicted_RBI | 1.7000 | boost | better |
| away | LAA | batter | SS | Zach Neto | better | 9 | 4 | 5 | 5 | 4 | predicted_RBI | 1.4900 | boost | better |
| home | DET | batter | SS | Kevin McGonigle | worse | 12 | 6 | 6 | 5 | 7 | predicted_SO | 1.4550 | boost | worse |
| away | LAA | batter | 1B | Vaughn Grissom | better | 11 | 5 | 6 | 6 | 5 | predicted_AB | 1.2910 | boost | better |
| away | LAA | batter | C | Sebastián Rivero | worse | 9 | 2 | 7 | 1 | 8 | predicted_AB | 1.2700 | boost | better |
| home | DET | batter | LF | Riley Greene | better | 11 | 6 | 5 | 7 | 4 | predicted_SO | -1.1960 | deboost | better |
| away | LAA | batter | LF | Wade Meckler | better | 9 | 6 | 3 | 7 | 2 | predicted_H | 1.1600 | boost | better |
| away | LAA | pitcher | Starter | Grayson Rodriguez | neutral | 2 | 1 | 1 | 1 | 1 | predicted_SO | 1.0000 | boost | better |
| away | LAA | pitcher | Middle Reliever | Ryan Zeferjahn | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | DET | pitcher | Starter | Jack Flaherty | worse | 3 | 2 | 1 | 0 | 3 | predicted_ER | 1.0000 | boost | worse |
| home | DET | pitcher | Middle Reliever | Kenley Jansen | better | 2 | 0 | 2 | 2 | 0 | predicted_ER | -1.0000 | deboost | better |
| away | LAA | batter | CF | Mike Trout | worse | 9 | 2 | 7 | 1 | 8 | predicted_SO | 0.9470 | boost | worse |
| home | DET | batter | 2B | Zach McKinstry | worse | 11 | 3 | 8 | 4 | 7 | predicted_R | 0.9280 | boost | better |
| away | LAA | batter | RF | Jo Adell | worse | 8 | 3 | 5 | 3 | 5 | predicted_BB | 0.8650 | boost | better |
| home | DET | batter | 1B | Spencer Torkelson | worse | 11 | 4 | 7 | 5 | 6 | predicted_H | -0.8200 | deboost | worse |
| home | DET | batter | RF | Wenceel Pérez | worse | 11 | 5 | 6 | 4 | 7 | predicted_BB | 0.7500 | boost | better |
| home | DET | batter | C | Jake Rogers | worse | 11 | 1 | 10 | 2 | 9 | predicted_BB | 0.7170 | boost | better |
| away | LAA | batter | DH | Jorge Soler | boosted | 8 | 5 | 3 | 4 | 4 | predicted_SO | 0.6810 | boost | worse |
| away | LAA | batter | 2B | Adam Frazier | worse | 11 | 5 | 6 | 4 | 7 | predicted_BB | 0.6590 | boost | better |
| away | LAA | pitcher | Middle Reliever | José Fermin | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.4667 | deboost | worse |
| away | LAA | pitcher | Middle Reliever | Sam Bachman | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | DET | pitcher | Middle Reliever | Drew Anderson | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.1333 | deboost | worse |
| away | LAA | pitcher | Middle Reliever | Brent Suter | 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 | Grayson Rodriguez |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5581 |
| ESPN Rank | 565 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0457 |
| Avg Velo | 88.8709 |
| Avg Spin | 2219.0506 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 6 |
| Pre H | 6 |
| Pre BB | 5 |
| Pre SO | 2 |
| Season ERA | 10.6071 |
| Season WHIP | 2.1429 |
| Role Avg IP | 4.6670 |
| Recent Avg IP | 4.6670 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"opponent": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"edges": {
"quality_edge": 0.0526,
"offense_edge": -0.0641,
"opponent_offense_edge": -0.1219,
"defense_strength": -0.1339,
"opponent_defense_weakness": -0.0396,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.003,
"run_prevention": 0.9913,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "680570",
"profile": {
"available": true,
"pitcher_id": "680570",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 21.0,
"k_percent": 19.6,
"bb_percent": 13.0,
"woba": 0.423,
"xwoba": 0.429,
"sweet_spot_percent": 38.7,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 45.2,
"avg_best_speed": 81.1704,
"avg_hyper_speed": 94.6123,
"whiff_percent": 21.6,
"swing_percent": 42.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.9047,
"command_and_miss": -0.5879,
"regression_edge": -0.1714,
"xwoba_edge": -2.5,
"barrel_edge": -1.2444,
"hard_hit_edge": -0.9571,
"whiff_edge": -0.6143,
"bb_edge": -0.9,
"pitch_design_score": -0.0457
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 88.87088607594937,
"release_spin_rate": 2219.0506329113923,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 88.87088607594937,
"release_spin_rate": 2219.0506329113923,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8709,
"release_spin_rate": 2219.0506,
"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.0457,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3267,
"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.5581,
"sample_weight": 0.45,
"run_prevention_factor": 1.0474,
"strikeout_factor": 0.9812,
"walk_factor": 1.0324,
"homer_factor": 1.0958,
"woba_minus_xwoba": -0.006,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "680570",
"espn_id": 41196,
"player_name": "Grayson Rodriguez",
"team": "LAA",
"role": "pitcher",
"espn_rank": 565,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 565,
"gp_value": 2.0,
"gp_rank": 535,
"gs_value": 2.0,
"gs_rank": 187,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 10.6071,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 9.1,
"ip_rank": 444,
"h_value": 14.0,
"h_rank": 354,
"er_value": 11.0,
"er_rank": 220,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 6.0,
"bb_rank": 371,
"k_value": 9.0,
"k_rank": 435,
"k_per_9_value": 8.678572,
"k_per_9_rank": 26,
"whip_value": 2.1428,
"whip_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 6.0,
"factor": 1.0213,
"adjusted": 6
},
"predicted_H": {
"original": 8.0,
"factor": 1.0213,
"adjusted": 8
},
"predicted_BB": {
"original": 3.0,
"factor": 1.0146,
"adjusted": 3
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0431,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 0.9915,
"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": 9.1,
"ER": 11,
"H": 14,
"BB": 6,
"SO": 9,
"HR": 1,
"ERA": 10.607142857142856,
"WHIP": 2.142857142857143,
"K9": 8.678571428571429,
"HR9": 0.9642857142857142,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-05-22T00:00:00"
}{
"available": true,
"pitcher_id": "680570",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 79,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 88.87088607594937,
"release_spin_rate": 2219.0506329113923,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 79,
"pitch_usage": 0.0,
"release_speed": 88.87088607594937,
"release_spin_rate": 2219.0506329113923,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8709,
"release_spin_rate": 2219.0506,
"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.0457,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3267,
"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": 2.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2857,
"prior_weight": 0.7143
},
"role": "pitcher",
"player_id": "680570",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 9.1,
"ER": 11.0,
"R": 11.0,
"H": 14.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 4.2,
"ER": 5.5,
"R": 5.5,
"H": 7.0,
"BB": 3.0,
"SO": 4.5,
"HR": 0.5,
"BF": 23.0,
"Pitches": 88.0
},
"rates": {
"ERA": 10.6071,
"WHIP": 2.1429,
"ER_per_IP": 1.17857,
"H_per_IP": 1.5,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.10714
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 9.1,
"ER": 11.0,
"R": 11.0,
"H": 14.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 4.2,
"ER": 5.5,
"R": 5.5,
"H": 7.0,
"BB": 3.0,
"SO": 4.5,
"HR": 0.5,
"BF": 23.0,
"Pitches": 88.0
},
"rates": {
"ERA": 10.6071,
"WHIP": 2.1429,
"ER_per_IP": 1.17857,
"H_per_IP": 1.5,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.10714
}
},
"season": {
"games": 2,
"totals": {
"IP": 9.1,
"ER": 11.0,
"R": 11.0,
"H": 14.0,
"BB": 6.0,
"SO": 9.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 176.0
},
"per_game": {
"IP": 4.2,
"ER": 5.5,
"R": 5.5,
"H": 7.0,
"BB": 3.0,
"SO": 4.5,
"HR": 0.5,
"BF": 23.0,
"Pitches": 88.0
},
"rates": {
"ERA": 10.6071,
"WHIP": 2.1429,
"ER_per_IP": 1.17857,
"H_per_IP": 1.5,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.96429,
"HR_per_IP": 0.10714
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 3.303,
"predicted_H": 5.406,
"predicted_BB": 2.194,
"predicted_SO": 4.659,
"predicted_HR": 0.609,
"predicted_ERA": 6.0599,
"predicted_WHIP": 1.5495
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6518,
"form_weight": 0.3482,
"form_reliability": 0.2857,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2857,
"prior_weight": 0.7143
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 6.0,
"form": 3.303,
"final": 5.0609,
"source": "model_form_blend"
},
"predicted_H": {
"model": 6.0,
"form": 5.406,
"final": 5.7932,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 5.0,
"form": 2.194,
"final": 4.0229,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 4.659,
"final": 2.2741,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 2.0,
"form": 0.609,
"final": 1.5156,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0599,
"final": 6.0599,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5495,
"final": 1.5495,
"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 Bachman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3934 |
| ESPN Rank | 67 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1440 |
| Avg Velo | 92.2585 |
| Avg Spin | 2480.0517 |
| 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.4231 |
| Season WHIP | 1.0385 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"opponent": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"edges": {
"quality_edge": 0.0526,
"offense_edge": -0.0641,
"opponent_offense_edge": -0.1219,
"defense_strength": -0.1339,
"opponent_defense_weakness": -0.0396,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.003,
"run_prevention": 0.9913,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696147",
"profile": {
"available": true,
"pitcher_id": "696147",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 86.0,
"k_percent": 26.2,
"bb_percent": 10.7,
"woba": 0.256,
"xwoba": 0.254,
"sweet_spot_percent": 26.6,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 29.7,
"avg_best_speed": 74.5843,
"avg_hyper_speed": 92.6172,
"whiff_percent": 33.9,
"swing_percent": 43.3
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.2675,
"command_and_miss": 0.5664,
"regression_edge": 0.0571,
"xwoba_edge": 1.5714,
"barrel_edge": 0.5556,
"hard_hit_edge": 1.2571,
"whiff_edge": 1.1429,
"bb_edge": -0.325,
"pitch_design_score": 0.144
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696147",
"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.25853562680689,
"release_spin_rate": 2480.051703394083,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.25853562680689,
"release_spin_rate": 2480.051703394083,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2585,
"release_spin_rate": 2480.0517,
"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.144,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0284,
"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.3934,
"sample_weight": 0.45,
"run_prevention_factor": 0.9666,
"strikeout_factor": 1.0298,
"walk_factor": 1.0117,
"homer_factor": 0.9362,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696147",
"espn_id": 4621489,
"player_name": "Sam Bachman",
"team": "LAA",
"role": "pitcher",
"espn_rank": 67,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 67,
"gp_value": 19.0,
"gp_rank": 132,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.423,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 9.0,
"hld_rank": 12,
"ip_value": 26.0,
"ip_rank": 188,
"h_value": 16.0,
"h_rank": 314,
"er_value": 7.0,
"er_rank": 338,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 11.0,
"bb_rank": 204,
"k_value": 27.0,
"k_rank": 189,
"k_per_9_value": 9.346154,
"k_per_9_rank": 27,
"whip_value": 1.0384,
"whip_rank": null,
"war_value": 1.0,
"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": 1.0053,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9713,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0134,
"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.1,
"ER": 3,
"H": 9,
"BB": 3,
"SO": 12,
"HR": 2,
"ERA": 2.189189189189189,
"WHIP": 0.9729729729729729,
"K9": 8.756756756756756,
"HR9": 1.4594594594594594,
"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-24T00:00:00"
}{
"available": true,
"pitcher_id": "696147",
"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.25853562680689,
"release_spin_rate": 2480.051703394083,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.25853562680689,
"release_spin_rate": 2480.051703394083,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2585,
"release_spin_rate": 2480.0517,
"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.144,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0284,
"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.128,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5063,
"prior_weight": 0.4937
},
"role": "pitcher",
"player_id": "696147",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 0.0,
"R": 0.0,
"H": 5.0,
"BB": 1.0,
"SO": 6.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 96.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 1.0,
"BB": 0.2,
"SO": 1.2,
"HR": 0.0,
"BF": 5.4,
"Pitches": 19.2
},
"rates": {
"ERA": 0.0,
"WHIP": 0.8571,
"ER_per_IP": 0.0,
"H_per_IP": 0.71429,
"BB_per_IP": 0.14286,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.1,
"ER": 3.0,
"R": 3.0,
"H": 9.0,
"BB": 3.0,
"SO": 12.0,
"HR": 2.0,
"BF": 49.0,
"Pitches": 176.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.3,
"H": 0.9,
"BB": 0.3,
"SO": 1.2,
"HR": 0.2,
"BF": 4.9,
"Pitches": 17.6
},
"rates": {
"ERA": 2.1892,
"WHIP": 0.973,
"ER_per_IP": 0.24324,
"H_per_IP": 0.72973,
"BB_per_IP": 0.24324,
"SO_per_IP": 0.97297,
"HR_per_IP": 0.16216
}
},
"season": {
"games": 19,
"totals": {
"IP": 26.0,
"ER": 7.0,
"R": 7.0,
"H": 16.0,
"BB": 11.0,
"SO": 27.0,
"HR": 2.0,
"BF": 103.0,
"Pitches": 388.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3684,
"R": 0.3684,
"H": 0.8421,
"BB": 0.5789,
"SO": 1.4211,
"HR": 0.1053,
"BF": 5.4211,
"Pitches": 20.4211
},
"rates": {
"ERA": 2.4231,
"WHIP": 1.0385,
"ER_per_IP": 0.26923,
"H_per_IP": 0.61538,
"BB_per_IP": 0.42308,
"SO_per_IP": 1.03846,
"HR_per_IP": 0.07692
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.404,
"predicted_H": 1.093,
"predicted_BB": 0.401,
"predicted_SO": 1.252,
"predicted_HR": 0.135,
"predicted_ERA": 2.7272,
"predicted_WHIP": 1.1207
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5586,
"form_weight": 0.4414,
"form_reliability": 0.5063,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.128,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5063,
"prior_weight": 0.4937
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.404,
"final": 0.1783,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.093,
"final": 0.4825,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.401,
"final": 0.177,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.252,
"final": 1.1112,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.135,
"final": 0.0596,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7272,
"final": 2.7272,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1207,
"final": 1.1207,
"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 | Kirby Yates |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0556 |
| ESPN Rank | 276 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1239 |
| Avg Velo | 87.4746 |
| Avg Spin | 1913.2631 |
| 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.6818 |
| Season WHIP | 1.0909 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"opponent": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"edges": {
"quality_edge": 0.0526,
"offense_edge": -0.0641,
"opponent_offense_edge": -0.1219,
"defense_strength": -0.1339,
"opponent_defense_weakness": -0.0396,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.003,
"run_prevention": 0.9913,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "489446",
"profile": {
"available": true,
"pitcher_id": "489446",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 23.0,
"k_percent": 31.3,
"bb_percent": 12.5,
"woba": 0.272,
"xwoba": 0.299,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 52.9,
"avg_best_speed": 83.0925,
"avg_hyper_speed": 96.4517,
"whiff_percent": 27.4,
"swing_percent": 45.9
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.2876,
"command_and_miss": 0.4793,
"regression_edge": -0.7714,
"xwoba_edge": 0.2857,
"barrel_edge": -1.0,
"hard_hit_edge": -2.0571,
"whiff_edge": 0.2143,
"bb_edge": -0.775,
"pitch_design_score": -0.1239
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "489446",
"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": 87.47458874458874,
"release_spin_rate": 1913.2631493506494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.47458874458874,
"release_spin_rate": 1913.2631493506494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4746,
"release_spin_rate": 1913.2631,
"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.1239,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8852,
"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.0556,
"sample_weight": 0.45,
"run_prevention_factor": 1.0047,
"strikeout_factor": 1.0262,
"walk_factor": 1.0279,
"homer_factor": 1.0692,
"woba_minus_xwoba": -0.027,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "489446",
"espn_id": 32623,
"player_name": "Kirby Yates",
"team": "LAA",
"role": "pitcher",
"espn_rank": 276,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 276,
"gp_value": 8.0,
"gp_rank": 382,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.6818,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 7.1,
"ip_rank": 476,
"h_value": 4.0,
"h_rank": 538,
"er_value": 3.0,
"er_rank": 485,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 4.0,
"bb_rank": 444,
"k_value": 10.0,
"k_rank": 420,
"k_per_9_value": 12.272727,
"k_per_9_rank": 23,
"whip_value": 1.0909,
"whip_rank": null,
"war_value": 0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0021,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0021,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0126,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0311,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0118,
"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": 4,
"BB": 4,
"SO": 10,
"HR": 1,
"ERA": 3.681818181818182,
"WHIP": 1.090909090909091,
"K9": 12.272727272727273,
"HR9": 1.2272727272727273,
"games_pitched": 8,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 8,
"error_prone": false
},
"games_count": 8,
"latest_game_date": "2026-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "489446",
"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": 87.47458874458874,
"release_spin_rate": 1913.2631493506494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.47458874458874,
"release_spin_rate": 1913.2631493506494,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4746,
"release_spin_rate": 1913.2631,
"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.1239,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.8852,
"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.6818181818181818,
"last_10": 0.3181818181818182
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.446,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2244,
"prior_weight": 0.7756
},
"role": "pitcher",
"player_id": "489446",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 8,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 3.0,
"SO": 6.0,
"HR": 1.0,
"BF": 20.0,
"Pitches": 78.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.2,
"BB": 0.6,
"SO": 1.2,
"HR": 0.2,
"BF": 4.0,
"Pitches": 15.6
},
"rates": {
"ERA": 1.9286,
"WHIP": 0.8571,
"ER_per_IP": 0.21429,
"H_per_IP": 0.21429,
"BB_per_IP": 0.64286,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 8,
"totals": {
"IP": 7.1,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 32.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.375,
"H": 0.5,
"BB": 0.5,
"SO": 1.25,
"HR": 0.125,
"BF": 4.0,
"Pitches": 16.875
},
"rates": {
"ERA": 3.6818,
"WHIP": 1.0909,
"ER_per_IP": 0.40909,
"H_per_IP": 0.54545,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.13636
}
},
"season": {
"games": 8,
"totals": {
"IP": 7.1,
"ER": 3.0,
"R": 3.0,
"H": 4.0,
"BB": 4.0,
"SO": 10.0,
"HR": 1.0,
"BF": 32.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.375,
"R": 0.375,
"H": 0.5,
"BB": 0.5,
"SO": 1.25,
"HR": 0.125,
"BF": 4.0,
"Pitches": 16.875
},
"rates": {
"ERA": 3.6818,
"WHIP": 1.0909,
"ER_per_IP": 0.40909,
"H_per_IP": 0.54545,
"BB_per_IP": 0.54545,
"SO_per_IP": 1.36364,
"HR_per_IP": 0.13636
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.427,
"predicted_H": 0.803,
"predicted_BB": 0.424,
"predicted_SO": 1.026,
"predicted_HR": 0.144,
"predicted_ERA": 3.8474,
"predicted_WHIP": 1.2267
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6777,
"form_weight": 0.3223,
"form_reliability": 0.2244,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.446,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.2244,
"prior_weight": 0.7756
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.427,
"final": 0.1376,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.803,
"final": 0.2588,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.424,
"final": 0.1367,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.026,
"final": 0.3307,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.144,
"final": 0.0464,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.8474,
"final": 3.8474,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2267,
"final": 1.2267,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | José Fermin |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2043 |
| ESPN Rank | 211 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1510 |
| Avg Velo | 92.3847 |
| Avg Spin | 2395.8747 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.8421 |
| Season WHIP | 1.2632 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"opponent": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"edges": {
"quality_edge": 0.0526,
"offense_edge": -0.0641,
"opponent_offense_edge": -0.1219,
"defense_strength": -0.1339,
"opponent_defense_weakness": -0.0396,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.003,
"run_prevention": 0.9913,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "820862",
"profile": {
"available": true,
"pitcher_id": "820862",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 51.0,
"k_percent": 25.0,
"bb_percent": 14.3,
"woba": 0.275,
"xwoba": 0.337,
"sweet_spot_percent": 31.3,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 50.0,
"avg_best_speed": 81.7186,
"avg_hyper_speed": 94.7446,
"whiff_percent": 31.6,
"swing_percent": 49.8
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.6061,
"command_and_miss": 0.1943,
"regression_edge": -1.7714,
"xwoba_edge": -0.8,
"barrel_edge": -1.1556,
"hard_hit_edge": -1.6429,
"whiff_edge": 0.8143,
"bb_edge": -1.225,
"pitch_design_score": 0.151
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "820862",
"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": 92.38467183108065,
"release_spin_rate": 2395.8746969027143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.38467183108065,
"release_spin_rate": 2395.8746969027143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3847,
"release_spin_rate": 2395.8747,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.151,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0788,
"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.2043,
"sample_weight": 0.45,
"run_prevention_factor": 1.0174,
"strikeout_factor": 1.0208,
"walk_factor": 1.0441,
"homer_factor": 1.082,
"woba_minus_xwoba": -0.062,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "820862",
"espn_id": 5265417,
"player_name": "Jose Fermin",
"team": "LAA",
"role": "pitcher",
"espn_rank": 211,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 211,
"gp_value": 13.0,
"gp_rank": 204,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.8421,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 1.0,
"hld_rank": 178,
"ip_value": 12.2,
"ip_rank": 407,
"h_value": 8.0,
"h_rank": 453,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 8.0,
"bb_rank": 282,
"k_value": 14.0,
"k_rank": 363,
"k_per_9_value": 9.947369,
"k_per_9_rank": 24,
"whip_value": 1.2631,
"whip_rank": null,
"war_value": 0.31,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0078,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0078,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0198,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0369,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0094,
"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": 7,
"BB": 8,
"SO": 10,
"HR": 0,
"ERA": 3.0,
"WHIP": 1.6666666666666667,
"K9": 10.0,
"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-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "820862",
"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": 92.38467183108065,
"release_spin_rate": 2395.8746969027143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.38467183108065,
"release_spin_rate": 2395.8746969027143,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3847,
"release_spin_rate": 2395.8747,
"spin_axis": 0.0,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": 0.0,
"release_pos_x": 0.0,
"release_pos_z": 0.0,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"components": {
"movement_score": 0.151,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0788,
"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.498,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3332,
"prior_weight": 0.6668
},
"role": "pitcher",
"player_id": "820862",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 13,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 5.0,
"SO": 5.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 88.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 1.0,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.6
},
"rates": {
"ERA": 0.0,
"WHIP": 2.25,
"ER_per_IP": 0.0,
"H_per_IP": 1.0,
"BB_per_IP": 1.25,
"SO_per_IP": 1.25,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.0,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 8.0,
"SO": 10.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 174.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.3,
"H": 0.7,
"BB": 0.8,
"SO": 1.0,
"HR": 0.0,
"BF": 4.2,
"Pitches": 17.4
},
"rates": {
"ERA": 3.0,
"WHIP": 1.6667,
"ER_per_IP": 0.33333,
"H_per_IP": 0.77778,
"BB_per_IP": 0.88889,
"SO_per_IP": 1.11111,
"HR_per_IP": 0.0
}
},
"season": {
"games": 13,
"totals": {
"IP": 12.2,
"ER": 4.0,
"R": 4.0,
"H": 8.0,
"BB": 8.0,
"SO": 14.0,
"HR": 1.0,
"BF": 56.0,
"Pitches": 229.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3077,
"R": 0.3077,
"H": 0.6154,
"BB": 0.6154,
"SO": 1.0769,
"HR": 0.0769,
"BF": 4.3077,
"Pitches": 17.6154
},
"rates": {
"ERA": 2.8421,
"WHIP": 1.2632,
"ER_per_IP": 0.31579,
"H_per_IP": 0.63158,
"BB_per_IP": 0.63158,
"SO_per_IP": 1.10526,
"HR_per_IP": 0.07895
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.272,
"predicted_H": 0.663,
"predicted_BB": 0.422,
"predicted_SO": 0.742,
"predicted_HR": 0.067,
"predicted_ERA": 3.3673,
"predicted_WHIP": 1.4908
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6317,
"form_weight": 0.3683,
"form_reliability": 0.3332,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.498,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3332,
"prior_weight": 0.6668
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.272,
"final": 0.1002,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.663,
"final": 0.2442,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.422,
"final": 0.1554,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.742,
"final": 0.905,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.067,
"final": 0.0247,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3673,
"final": 3.3673,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4908,
"final": 1.4908,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Brent Suter |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0208 |
| ESPN Rank | 302 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 81.5312 |
| Avg Spin | 1920.1165 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.2000 |
| Pre ER | 1 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.2000 |
| Season WHIP | 1.3333 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"opponent": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"edges": {
"quality_edge": 0.0526,
"offense_edge": -0.0641,
"opponent_offense_edge": -0.1219,
"defense_strength": -0.1339,
"opponent_defense_weakness": -0.0396,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.003,
"run_prevention": 0.9913,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "608718",
"profile": {
"available": true,
"pitcher_id": "608718",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 106.0,
"k_percent": 21.4,
"bb_percent": 11.6,
"woba": 0.334,
"xwoba": 0.314,
"sweet_spot_percent": 29.3,
"barrel_batted_rate": 6.8,
"hard_hit_percent": 30.7,
"avg_best_speed": 72.7911,
"avg_hyper_speed": 93.4211,
"whiff_percent": 24.6,
"swing_percent": 47.2
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.1375,
"command_and_miss": -0.2521,
"regression_edge": 0.5714,
"xwoba_edge": -0.1429,
"barrel_edge": 0.1111,
"hard_hit_edge": 1.1143,
"whiff_edge": -0.1857,
"bb_edge": -0.55,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "608718",
"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": 81.53124340070107,
"release_spin_rate": 1920.1164568999852,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81.53124340070107,
"release_spin_rate": 1920.1164568999852,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5312,
"release_spin_rate": 1920.1165,
"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.0208,
"sample_weight": 0.45,
"run_prevention_factor": 0.9982,
"strikeout_factor": 0.9936,
"walk_factor": 1.0198,
"homer_factor": 0.9779,
"woba_minus_xwoba": 0.02,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "608718",
"espn_id": 36023,
"player_name": "Brent Suter",
"team": "LAA",
"role": "pitcher",
"espn_rank": 302,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 302,
"gp_value": 20.0,
"gp_rank": 118,
"gs_value": 2.0,
"gs_rank": 187,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.2,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 3.0,
"hld_rank": 113,
"ip_value": 30.0,
"ip_rank": 164,
"h_value": 28.0,
"h_rank": 155,
"er_value": 14.0,
"er_rank": 153,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 12.0,
"bb_rank": 185,
"k_value": 26.0,
"k_rank": 201,
"k_per_9_value": 7.8,
"k_per_9_rank": 33,
"whip_value": 1.3333,
"whip_rank": null,
"war_value": 0.08,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9992,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9992,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0089,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9901,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9971,
"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": 8,
"H": 13,
"BB": 4,
"SO": 9,
"HR": 1,
"ERA": 6.0,
"WHIP": 1.4166666666666667,
"K9": 6.75,
"HR9": 0.75,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "608718",
"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": 81.53124340070107,
"release_spin_rate": 1920.1164568999852,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 81.53124340070107,
"release_spin_rate": 1920.1164568999852,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5312,
"release_spin_rate": 1920.1165,
"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.917,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.542,
"prior_weight": 0.458
},
"role": "pitcher",
"player_id": "608718",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 20,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.2,
"ER": 4.0,
"R": 5.0,
"H": 8.0,
"BB": 2.0,
"SO": 4.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 124.0
},
"per_game": {
"IP": 1.2,
"ER": 0.8,
"R": 1.0,
"H": 1.6,
"BB": 0.4,
"SO": 0.8,
"HR": 0.0,
"BF": 6.4,
"Pitches": 24.8
},
"rates": {
"ERA": 4.6957,
"WHIP": 1.3043,
"ER_per_IP": 0.52174,
"H_per_IP": 1.04348,
"BB_per_IP": 0.26087,
"SO_per_IP": 0.52174,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 12.0,
"ER": 8.0,
"R": 9.0,
"H": 13.0,
"BB": 4.0,
"SO": 9.0,
"HR": 1.0,
"BF": 52.0,
"Pitches": 209.0
},
"per_game": {
"IP": 1.1,
"ER": 0.8,
"R": 0.9,
"H": 1.3,
"BB": 0.4,
"SO": 0.9,
"HR": 0.1,
"BF": 5.2,
"Pitches": 20.9
},
"rates": {
"ERA": 6.0,
"WHIP": 1.4167,
"ER_per_IP": 0.66667,
"H_per_IP": 1.08333,
"BB_per_IP": 0.33333,
"SO_per_IP": 0.75,
"HR_per_IP": 0.08333
}
},
"season": {
"games": 20,
"totals": {
"IP": 30.0,
"ER": 14.0,
"R": 16.0,
"H": 28.0,
"BB": 12.0,
"SO": 26.0,
"HR": 3.0,
"BF": 123.0,
"Pitches": 515.0
},
"per_game": {
"IP": 1.1,
"ER": 0.7,
"R": 0.8,
"H": 1.4,
"BB": 0.6,
"SO": 1.3,
"HR": 0.15,
"BF": 6.15,
"Pitches": 25.75
},
"rates": {
"ERA": 4.2,
"WHIP": 1.3333,
"ER_per_IP": 0.46667,
"H_per_IP": 0.93333,
"BB_per_IP": 0.4,
"SO_per_IP": 0.86667,
"HR_per_IP": 0.1
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.498,
"predicted_H": 0.95,
"predicted_BB": 0.325,
"predicted_SO": 0.761,
"predicted_HR": 0.083,
"predicted_ERA": 4.6812,
"predicted_WHIP": 1.3323
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5435,
"form_weight": 0.4565,
"form_reliability": 0.542,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.917,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.542,
"prior_weight": 0.458
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.498,
"final": 0.7708,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.95,
"final": 1.5207,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.325,
"final": 0.1484,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.761,
"final": 0.8909,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.083,
"final": 0.0379,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.6812,
"final": 4.6812,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3323,
"final": 1.3323,
"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 | Ryan Zeferjahn |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2238 |
| ESPN Rank | 464 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0613 |
| Avg Velo | 90.7826 |
| Avg Spin | 2418.8436 |
| 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.8082 |
| Season WHIP | 1.2329 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"opponent": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"edges": {
"quality_edge": 0.0526,
"offense_edge": -0.0641,
"opponent_offense_edge": -0.1219,
"defense_strength": -0.1339,
"opponent_defense_weakness": -0.0396,
"recent_win_pct_edge": 0.3
},
"player_factors": {
"ip": 1.003,
"run_prevention": 0.9913,
"strikeout": 1.0113
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "666171",
"profile": {
"available": true,
"pitcher_id": "666171",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 27.8,
"bb_percent": 13.0,
"woba": 0.283,
"xwoba": 0.278,
"sweet_spot_percent": 26.3,
"barrel_batted_rate": 3.6,
"hard_hit_percent": 35.1,
"avg_best_speed": 79.8788,
"avg_hyper_speed": 93.1154,
"whiff_percent": 29.5,
"swing_percent": 40.2
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.6984,
"command_and_miss": 0.3343,
"regression_edge": 0.1429,
"xwoba_edge": 0.8857,
"barrel_edge": 0.8222,
"hard_hit_edge": 0.4857,
"whiff_edge": 0.5143,
"bb_edge": -0.9,
"pitch_design_score": 0.0613
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666171",
"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": 90.78257271330006,
"release_spin_rate": 2418.8436422756977,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.78257271330006,
"release_spin_rate": 2418.8436422756977,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7826,
"release_spin_rate": 2418.8436,
"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.0613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.438,
"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.2238,
"sample_weight": 0.45,
"run_prevention_factor": 0.981,
"strikeout_factor": 1.0226,
"walk_factor": 1.0324,
"homer_factor": 0.9497,
"woba_minus_xwoba": 0.005,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "666171",
"espn_id": 4722057,
"player_name": "Ryan Zeferjahn",
"team": "LAA",
"role": "pitcher",
"espn_rank": 464,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 464,
"gp_value": 19.0,
"gp_rank": 132,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.8082,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 24.1,
"ip_rank": 223,
"h_value": 15.0,
"h_rank": 330,
"er_value": 13.0,
"er_rank": 175,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 15.0,
"bb_rank": 131,
"k_value": 30.0,
"k_rank": 164,
"k_per_9_value": 11.095891,
"k_per_9_rank": 19,
"whip_value": 1.2328,
"whip_rank": null,
"war_value": -0.12,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9914,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9914,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0146,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9774,
"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.2,
"ER": 4,
"H": 5,
"BB": 8,
"SO": 14,
"HR": 1,
"ERA": 3.085714285714286,
"WHIP": 1.1142857142857143,
"K9": 10.8,
"HR9": 0.7714285714285715,
"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-23T00:00:00"
}{
"available": true,
"pitcher_id": "666171",
"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": 90.78257271330006,
"release_spin_rate": 2418.8436422756977,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.78257271330006,
"release_spin_rate": 2418.8436422756977,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7826,
"release_spin_rate": 2418.8436,
"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.0613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.438,
"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.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4898,
"prior_weight": 0.5102
},
"role": "pitcher",
"player_id": "666171",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.2,
"ER": 3.0,
"R": 4.0,
"H": 4.0,
"BB": 4.0,
"SO": 3.0,
"HR": 1.0,
"BF": 22.0,
"Pitches": 88.0
},
"per_game": {
"IP": 0.2,
"ER": 0.6,
"R": 0.8,
"H": 0.8,
"BB": 0.8,
"SO": 0.6,
"HR": 0.2,
"BF": 4.4,
"Pitches": 17.6
},
"rates": {
"ERA": 7.3636,
"WHIP": 2.1818,
"ER_per_IP": 0.81818,
"H_per_IP": 1.09091,
"BB_per_IP": 1.09091,
"SO_per_IP": 0.81818,
"HR_per_IP": 0.27273
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 4.0,
"R": 5.0,
"H": 5.0,
"BB": 8.0,
"SO": 14.0,
"HR": 1.0,
"BF": 53.0,
"Pitches": 215.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.5,
"H": 0.5,
"BB": 0.8,
"SO": 1.4,
"HR": 0.1,
"BF": 5.3,
"Pitches": 21.5
},
"rates": {
"ERA": 3.0857,
"WHIP": 1.1143,
"ER_per_IP": 0.34286,
"H_per_IP": 0.42857,
"BB_per_IP": 0.68571,
"SO_per_IP": 1.2,
"HR_per_IP": 0.08571
}
},
"season": {
"games": 19,
"totals": {
"IP": 24.1,
"ER": 13.0,
"R": 15.0,
"H": 15.0,
"BB": 15.0,
"SO": 30.0,
"HR": 1.0,
"BF": 109.0,
"Pitches": 455.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6842,
"R": 0.7895,
"H": 0.7895,
"BB": 0.7895,
"SO": 1.5789,
"HR": 0.0526,
"BF": 5.7368,
"Pitches": 23.9474
},
"rates": {
"ERA": 4.8082,
"WHIP": 1.2329,
"ER_per_IP": 0.53425,
"H_per_IP": 0.61644,
"BB_per_IP": 0.61644,
"SO_per_IP": 1.23288,
"HR_per_IP": 0.0411
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.36,
"predicted_H": 0.578,
"predicted_BB": 0.41,
"predicted_SO": 0.668,
"predicted_HR": 0.099,
"predicted_ERA": 4.7869,
"predicted_WHIP": 1.4621
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5656,
"form_weight": 0.4344,
"form_reliability": 0.4898,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4898,
"prior_weight": 0.5102
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.2,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.36,
"final": 0.1564,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.578,
"final": 0.2511,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.41,
"final": 0.1781,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.668,
"final": 0.8558,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.099,
"final": 0.043,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7869,
"final": 4.7869,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4621,
"final": 1.4621,
"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.185 | 0.000 | -0.185 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.709 | 5.000 | 8.000 | Hitting_AB | 3.647 | 3.000 | 1.353 | 2.000 |
| predicted_AVG | 0.229 | 0.200 | 0.250 | Hitting_AVG | 0.244 | 0.000 | -0.044 | 0.200 |
| predicted_BB | 0.385 | 0.000 | 1.000 | Hitting_BB | 0.395 | 1.000 | -0.395 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.820 | 1.000 | 2.000 | Hitting_H | 0.891 | 0.000 | 0.109 | 1.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.109 | 0.000 | -0.109 | 0.000 |
| predicted_OBP | 0.289 | 0.200 | 0.333 | Hitting_OBP | 0.315 | 0.250 | -0.115 | -0.050 |
| predicted_R | 0.316 | 0.000 | 1.000 | Hitting_R | 0.311 | 0.000 | -0.311 | 0.000 |
| predicted_RBI | 0.620 | 0.000 | 2.000 | Hitting_RBI | 0.731 | 0.000 | -0.731 | 0.000 |
| predicted_SLG | 0.369 | 0.200 | 0.250 | Hitting_SLG | 0.385 | 0.000 | -0.185 | 0.200 |
| predicted_SO | 0.350 | 0.000 | 1.000 | Hitting_SO | 0.345 | 1.000 | -0.345 | -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_AB: 3.7090 -> 5.0000 (boost 1.2910, better) |
| Biggest Deboost | predicted_RBI: 0.6200 -> 0.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.7090 -> 7.5033 (boost 3.7943, 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.3029 -> 0.3147 (boost 0.0118, 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_AB: 7.5033 -> 8.0000 (boost 0.4967, better) | predicted_2B: 0.3369 -> 0.0000 (deboost -0.3369, worse) | AB rounded to 8 (raw=7.50), rates preserved: AVG=0.238 HR/AB=0.036 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6508 -> 1.0000 (boost 0.3492, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3147 -> 0.3330 (boost 0.0183, better) | predicted_SLG: 0.3913 -> 0.2500 (deboost -0.1413, 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 -> 5.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.2500 -> 0.3913 (boost 0.1413, better) | predicted_OBP: 0.3330 -> 0.3147 (deboost -0.0183, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687093",
"player_name": "Vaughn Grissom",
"position": "1B",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.188,
"predicted_3B": 0.0,
"predicted_AB": 3.709,
"predicted_AVG": 0.229,
"predicted_BB": 0.385,
"predicted_H": 0.82,
"predicted_HR": 0.12,
"predicted_OBP": 0.289,
"predicted_R": 0.316,
"predicted_RBI": 0.62,
"predicted_SLG": 0.369,
"predicted_SO": 0.35
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3369,
"predicted_3B": 0.0013,
"predicted_AB": 7.5033,
"predicted_AVG": 0.2354,
"predicted_BB": 0.8426,
"predicted_H": 1.7816,
"predicted_HBP": 0.029,
"predicted_HR": 0.2733,
"predicted_OBP": 0.3029,
"predicted_R": 0.6481,
"predicted_RBI": 1.6288,
"predicted_SLG": 0.3828,
"predicted_SO": 0.8358
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.3369,
"delta": 0.1489,
"percent_delta": 0.792,
"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.709,
"after": 7.5033,
"delta": 3.7943,
"percent_delta": 1.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2354,
"delta": 0.0064,
"percent_delta": 0.0279,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.8426,
"delta": 0.4576,
"percent_delta": 1.1886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.7816,
"delta": 0.9616,
"percent_delta": 1.1727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2733,
"delta": 0.1533,
"percent_delta": 1.2775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.289,
"after": 0.3029,
"delta": 0.0139,
"percent_delta": 0.0481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.6481,
"delta": 0.3321,
"percent_delta": 1.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.6288,
"delta": 1.0088,
"percent_delta": 1.6271,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.369,
"after": 0.3828,
"delta": 0.0138,
"percent_delta": 0.0374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.35,
"after": 0.8358,
"delta": 0.4858,
"percent_delta": 1.388,
"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.709,
"after": 7.5033,
"delta": 3.7943,
"percent_delta": 1.023,
"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": 3,
"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.3369,
"predicted_3B": 0.0013,
"predicted_AB": 7.5033,
"predicted_AVG": 0.2378,
"predicted_BB": 0.8418,
"predicted_H": 1.7843,
"predicted_HBP": 0.029,
"predicted_HR": 0.2708,
"predicted_OBP": 0.3147,
"predicted_R": 0.6508,
"predicted_RBI": 1.6356,
"predicted_SLG": 0.3913,
"predicted_SO": 0.8366
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3369,
"after": 0.3369,
"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.5033,
"after": 7.5033,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2354,
"after": 0.2378,
"delta": 0.0024,
"percent_delta": 0.0102,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8426,
"after": 0.8418,
"delta": -0.0008,
"percent_delta": -0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7816,
"after": 1.7843,
"delta": 0.0027,
"percent_delta": 0.0015,
"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.2733,
"after": 0.2708,
"delta": -0.0025,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3029,
"after": 0.3147,
"delta": 0.0118,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.6481,
"after": 0.6508,
"delta": 0.0027,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.6288,
"after": 1.6356,
"delta": 0.0068,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3828,
"after": 0.3913,
"delta": 0.0085,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8358,
"after": 0.8366,
"delta": 0.0008,
"percent_delta": 0.001,
"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.3029,
"after": 0.3147,
"delta": 0.0118,
"percent_delta": 0.039,
"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.50), rates preserved: AVG=0.238 HR/AB=0.036",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3369,
"after": 0.0,
"delta": -0.3369,
"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.5033,
"after": 8.0,
"delta": 0.4967,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8418,
"after": 1.0,
"delta": 0.1582,
"percent_delta": 0.1879,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7843,
"after": 2.0,
"delta": 0.2157,
"percent_delta": 0.1209,
"direction": "boost",
"projection_effect": "better",
"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.2708,
"after": 0.0,
"delta": -0.2708,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.6356,
"after": 2.0,
"delta": 0.3644,
"percent_delta": 0.2228,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8366,
"after": 1.0,
"delta": 0.1634,
"percent_delta": 0.1953,
"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_AB",
"before": 7.5033,
"after": 8.0,
"delta": 0.4967,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3369,
"after": 0.0,
"delta": -0.3369,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.6508,
"after": 1.0,
"delta": 0.3492,
"percent_delta": 0.5366,
"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": 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.6508,
"after": 1.0,
"delta": 0.3492,
"percent_delta": 0.5366,
"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": 2.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.2378,
"after": 0.25,
"delta": 0.0122,
"percent_delta": 0.0513,
"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.3147,
"after": 0.333,
"delta": 0.0183,
"percent_delta": 0.0582,
"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.3913,
"after": 0.25,
"delta": -0.1413,
"percent_delta": -0.3611,
"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.3147,
"after": 0.333,
"delta": 0.0183,
"percent_delta": 0.0582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3913,
"after": 0.25,
"delta": -0.1413,
"percent_delta": -0.3611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 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": 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": 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": 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": 5.0,
"delta": -3.0,
"percent_delta": -0.375,
"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.2378,
"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.3147,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3913,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2378,
"delta": -0.0122,
"percent_delta": -0.0488,
"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.3147,
"delta": -0.0183,
"percent_delta": -0.055,
"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.3913,
"delta": 0.1413,
"percent_delta": 0.5653,
"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.3913,
"delta": 0.1413,
"percent_delta": 0.5653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3147,
"delta": -0.0183,
"percent_delta": -0.055,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.188,
"after": 0.0,
"delta": -0.188,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.709,
"after": 5.0,
"delta": 1.291,
"percent_delta": 0.3481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.229,
"after": 0.2378,
"delta": 0.0088,
"percent_delta": 0.0384,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.385,
"after": 0.0,
"delta": -0.385,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.0,
"delta": 0.18,
"percent_delta": 0.2195,
"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.3147,
"delta": 0.0257,
"percent_delta": 0.0889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"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.369,
"after": 0.3913,
"delta": 0.0223,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"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.709,
"after": 5.0,
"delta": 1.291,
"percent_delta": 0.3481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"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.188 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.709 | - |
| predicted_AVG | 0.229 | - |
| predicted_BB | 0.385 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.289 | - |
| predicted_R | 0.316 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.369 | - |
| predicted_SO | 0.350 | - |
Final model 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.337 | 0.149 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.503 | 3.794 |
| predicted_AVG | 0.235 | 0.006 |
| predicted_BB | 0.843 | 0.458 |
| predicted_H | 1.782 | 0.962 |
| predicted_HBP | 0.029 | - |
| predicted_HR | 0.273 | 0.153 |
| predicted_OBP | 0.303 | 0.014 |
| predicted_R | 0.648 | 0.332 |
| predicted_RBI | 1.629 | 1.009 |
| predicted_SLG | 0.383 | 0.014 |
| predicted_SO | 0.836 | 0.486 |
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.337 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.503 | 0.000 |
| predicted_AVG | 0.238 | 0.002 |
| predicted_BB | 0.842 | -0.001 |
| predicted_H | 1.784 | 0.003 |
| predicted_HBP | 0.029 | 0.000 |
| predicted_HR | 0.271 | -0.003 |
| predicted_OBP | 0.315 | 0.012 |
| predicted_R | 0.651 | 0.003 |
| predicted_RBI | 1.636 | 0.007 |
| predicted_SLG | 0.391 | 0.009 |
| predicted_SO | 0.837 | 0.001 |
AB rounded to 8 (raw=7.50), rates preserved: AVG=0.238 HR/AB=0.036
| 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 | 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 | 2.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.337 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.497 |
| predicted_AVG | 0.250 | 0.012 |
| predicted_BB | 1.000 | 0.158 |
| predicted_H | 2.000 | 0.216 |
| predicted_HR | 0.000 | -0.271 |
| predicted_OBP | 0.333 | 0.018 |
| predicted_R | 1.000 | 0.349 |
| predicted_RBI | 2.000 | 0.364 |
| predicted_SLG | 0.250 | -0.141 |
| predicted_SO | 1.000 | 0.163 |
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 | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 0.000 | -1.000 |
| RBI | 0.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 | 2 | - | 17.000 | 3.000 | 0.000 | 0.000 | 1.000 | 6.000 | 1.000 | 4.000 | 4.000 | 0.1765 | 0.3333 | 0.3529 | 0.1765 | 0.0588 | 0.3529 | 0.2353 | 0.2353 |
| last_10 | 0.20 | 3 | - | 41.000 | 15.000 | 0.000 | 0.000 | 5.000 | 30.000 | 5.000 | 4.000 | 5.000 | 0.3659 | 0.4222 | 0.7317 | 0.3659 | 0.1220 | 0.7317 | 0.0976 | 0.1220 |
| season | 0.60 | 32 | - | 434.000 | 106.000 | 22.000 | 0.000 | 13.000 | 85.000 | 37.000 | 45.000 | 41.000 | 0.2442 | 0.3134 | 0.3848 | 0.2442 | 0.0300 | 0.1958 | 0.1037 | 0.0945 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5320 |
| predicted_3B | 0.0030 |
| predicted_AB | 12.4730 |
| predicted_AVG | 0.2438 |
| predicted_BB | 1.4420 |
| predicted_H | 3.0410 |
| predicted_HBP | 0.0290 |
| predicted_HR | 0.4740 |
| predicted_OBP | 0.3212 |
| predicted_R | 1.0830 |
| predicted_RBI | 2.9500 |
| predicted_SLG | 0.4009 |
| predicted_SO | 1.4720 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1880 | 0.5320 | 0.3369 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.7090 | 12.4730 | 7.5033 | model_form_blend |
| predicted_AVG | 0.2290 | 0.2438 | 0.2354 | model_form_blend |
| predicted_BB | 0.3850 | 1.4420 | 0.8426 | model_form_blend |
| predicted_H | 0.8200 | 3.0410 | 1.7816 | model_form_blend |
| predicted_HBP | - | 0.0290 | 0.0290 | form_only |
| predicted_HR | 0.1200 | 0.4740 | 0.2733 | model_form_blend |
| predicted_OBP | 0.2890 | 0.3212 | 0.3029 | model_form_blend |
| predicted_R | 0.3160 | 1.0830 | 0.6481 | model_form_blend |
| predicted_RBI | 0.6200 | 2.9500 | 1.6288 | model_form_blend |
| predicted_SLG | 0.3690 | 0.4009 | 0.3828 | model_form_blend |
| predicted_SO | 0.3500 | 1.4720 | 0.8358 | 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 | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 3 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 1 |
| Hitting_GIDP | 1 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 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 | 20260527_LAA@DET |
| game_type | full |
| mlbID | 687093 |
| playerID | 687093 |
| playerName | Vaughn Grissom |
| pos | 2B |
| started | True |
| startingPosition | 1B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 9.3 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.307 |
| sl_xwoba | 0.347 |
| sl_xba | 0.27 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 28.7 |
| sl_barrel_batted_rate | 6.4 |
| sl_hard_hit_percent | 47.9 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 11.8 |
| sl_whiff_percent | 18.8 |
| sl_swing_percent | 46.5 |
| at_bat_number | 66.0 |
| ab_pitcher | 669724.0 |
| ab_pitcher_name | Hanifee, Brenan |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 545361.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 4.0 |
| ab_event | walk |
| ab_event_description | Vaughn Grissom walks. Mike Trout to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 11.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 90.86 |
| ab_release_spin_rate_avg | 2153.8 |
| ab_effective_speed_avg | 90.76 |
| ab_delta_run_exp_avg | 0.0569999999999999 |
| ab_delta_home_win_exp_avg | -0.0014 |
| ab_delta_pitcher_run_exp_avg | -0.0569999999999999 |
| ab_release_speed_max | 93.7 |
| ab_release_spin_rate_max | 2393.0 |
| ab_release_speed_min | 85.8 |
| ab_release_spin_rate_min | 1953.0 |
| ab_delta_run_exp_sum | 0.285 |
| ab_delta_home_win_exp_sum | -0.007 |
| ab_delta_pitcher_run_exp_sum | -0.285 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.234 | 0.000 | 1.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.440 | 4.000 | 10.000 | Hitting_AB | 3.948 | 4.000 | 0.052 | 0.000 |
| predicted_AVG | 0.232 | 0.250 | 0.200 | Hitting_AVG | 0.235 | 0.000 | 0.015 | 0.250 |
| predicted_BB | 0.591 | 1.000 | 1.000 | Hitting_BB | 0.591 | 0.000 | 0.409 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.083 | 0.000 | -0.083 | 0.000 |
| predicted_H | 1.030 | 1.000 | 2.000 | Hitting_H | 0.929 | 0.000 | 0.071 | 1.000 |
| predicted_HR | 0.210 | 1.000 | 0.000 | Hitting_HR | 0.179 | 0.000 | 0.821 | 1.000 |
| predicted_OBP | 0.340 | 0.400 | 0.273 | Hitting_OBP | 0.345 | 0.000 | 0.055 | 0.400 |
| predicted_R | 0.718 | 1.000 | 2.000 | Hitting_R | 0.718 | 0.000 | 0.282 | 1.000 |
| predicted_RBI | 0.510 | 2.000 | 1.000 | Hitting_RBI | 0.476 | 0.000 | 1.524 | 2.000 |
| predicted_SLG | 0.461 | 1.000 | 0.300 | Hitting_SLG | 0.440 | 0.000 | 0.560 | 1.000 |
| predicted_SO | 1.421 | 1.000 | 4.000 | Hitting_SO | 1.421 | 2.000 | -0.421 | -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.5100 -> 2.0000 (boost 1.4900, better) |
| Biggest Deboost | predicted_AB: 4.4400 -> 4.0000 (deboost -0.4400, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 8 | 1 | 7 | 2 | predicted_AB: 4.4400 -> 9.7075 (boost 5.2675, better) | predicted_SLG: 0.4610 -> 0.4413 (deboost -0.0197, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4413 -> 0.4207 (deboost -0.0206, 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_2B: 0.5758 -> 1.0000 (boost 0.4242, better) | predicted_HR: 0.3853 -> 0.0000 (deboost -0.3853, worse) | AB rounded to 10 (raw=9.71), rates preserved: AVG=0.234 HR/AB=0.040 |
| 5 | bvp_blend | 1 | 1 | 0 | 0 | 1 | predicted_SO: 3.0000 -> 4.0000 (boost 1.0000, worse) | - | 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: 1.6755 -> 2.0000 (boost 0.3245, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4207 -> 0.3000 (deboost -0.1207, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 2 | 5 | 3 | 4 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 10.0000 -> 4.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3000 -> 0.4207 (boost 0.1207, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "687263",
"player_name": "Zach Neto",
"position": "SS",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.234,
"predicted_3B": 0.02,
"predicted_AB": 4.44,
"predicted_AVG": 0.232,
"predicted_BB": 0.591,
"predicted_H": 1.03,
"predicted_HR": 0.21,
"predicted_OBP": 0.34,
"predicted_R": 0.718,
"predicted_RBI": 0.51,
"predicted_SLG": 0.461,
"predicted_SO": 1.421
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.5758,
"predicted_3B": 0.0412,
"predicted_AB": 9.7075,
"predicted_AVG": 0.2328,
"predicted_BB": 1.3117,
"predicted_H": 2.266,
"predicted_HBP": 0.284,
"predicted_HR": 0.3888,
"predicted_OBP": 0.3369,
"predicted_R": 1.6685,
"predicted_RBI": 1.105,
"predicted_SLG": 0.4413,
"predicted_SO": 3.3772
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.5758,
"delta": 0.3418,
"percent_delta": 1.4607,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0412,
"delta": 0.0212,
"percent_delta": 1.06,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.44,
"after": 9.7075,
"delta": 5.2675,
"percent_delta": 1.1864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2328,
"delta": 0.0008,
"percent_delta": 0.0034,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.591,
"after": 1.3117,
"delta": 0.7207,
"percent_delta": 1.2195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.03,
"after": 2.266,
"delta": 1.236,
"percent_delta": 1.2,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.3888,
"delta": 0.1788,
"percent_delta": 0.8514,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3369,
"delta": -0.0031,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.718,
"after": 1.6685,
"delta": 0.9505,
"percent_delta": 1.3238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.51,
"after": 1.105,
"delta": 0.595,
"percent_delta": 1.1667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4413,
"delta": -0.0197,
"percent_delta": -0.0427,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.421,
"after": 3.3772,
"delta": 1.9562,
"percent_delta": 1.3766,
"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.44,
"after": 9.7075,
"delta": 5.2675,
"percent_delta": 1.1864,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.461,
"after": 0.4413,
"delta": -0.0197,
"percent_delta": -0.0427,
"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": 3,
"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.5758,
"predicted_3B": 0.0412,
"predicted_AB": 9.7075,
"predicted_AVG": 0.2338,
"predicted_BB": 1.3104,
"predicted_H": 2.2694,
"predicted_HBP": 0.284,
"predicted_HR": 0.3853,
"predicted_OBP": 0.3249,
"predicted_R": 1.6755,
"predicted_RBI": 1.1096,
"predicted_SLG": 0.4207,
"predicted_SO": 3.3806
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5758,
"after": 0.5758,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0412,
"after": 0.0412,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.7075,
"after": 9.7075,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2328,
"after": 0.2338,
"delta": 0.001,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.3117,
"after": 1.3104,
"delta": -0.0013,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.266,
"after": 2.2694,
"delta": 0.0034,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.284,
"after": 0.284,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3888,
"after": 0.3853,
"delta": -0.0035,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3369,
"after": 0.3249,
"delta": -0.012,
"percent_delta": -0.0356,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6685,
"after": 1.6755,
"delta": 0.007,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.105,
"after": 1.1096,
"delta": 0.0046,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4413,
"after": 0.4207,
"delta": -0.0206,
"percent_delta": -0.0467,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.3772,
"after": 3.3806,
"delta": 0.0034,
"percent_delta": 0.001,
"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.4413,
"after": 0.4207,
"delta": -0.0206,
"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 10 (raw=9.71), rates preserved: AVG=0.234 HR/AB=0.040",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.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.5758,
"after": 1.0,
"delta": 0.4242,
"percent_delta": 0.7367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0412,
"after": 0.0,
"delta": -0.0412,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.7075,
"after": 10.0,
"delta": 0.2925,
"percent_delta": 0.0301,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3104,
"after": 1.0,
"delta": -0.3104,
"percent_delta": -0.2369,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2694,
"after": 2.0,
"delta": -0.2694,
"percent_delta": -0.1187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3853,
"after": 0.0,
"delta": -0.3853,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1096,
"after": 1.0,
"delta": -0.1096,
"percent_delta": -0.0988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.3806,
"after": 3.0,
"delta": -0.3806,
"percent_delta": -0.1126,
"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_2B",
"before": 0.5758,
"after": 1.0,
"delta": 0.4242,
"percent_delta": 0.7367,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3853,
"after": 0.0,
"delta": -0.3853,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SO": 4.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": 10.0,
"after": 10.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": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "worse",
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.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": 4.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": 10.0,
"after": 10.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.6755,
"after": 2.0,
"delta": 0.3245,
"percent_delta": 0.1937,
"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": 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": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 1.6755,
"after": 2.0,
"delta": 0.3245,
"percent_delta": 0.1937,
"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": 10.0,
"predicted_AVG": 0.2,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.273,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.3,
"predicted_SO": 4.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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2338,
"after": 0.2,
"delta": -0.0338,
"percent_delta": -0.1446,
"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.3249,
"after": 0.273,
"delta": -0.0519,
"percent_delta": -0.1597,
"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.4207,
"after": 0.3,
"delta": -0.1207,
"percent_delta": -0.2869,
"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": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4207,
"after": 0.3,
"delta": -0.1207,
"percent_delta": -0.2869,
"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": 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": 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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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": 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": 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": 4.0,
"after": 1.0,
"delta": -3.0,
"percent_delta": -0.75,
"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_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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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.2338,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3249,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4207,
"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.2338,
"delta": 0.0338,
"percent_delta": 0.1689,
"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": 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.273,
"after": 0.3249,
"delta": 0.0519,
"percent_delta": 0.1901,
"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.3,
"after": 0.4207,
"delta": 0.1207,
"percent_delta": 0.4022,
"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.3,
"after": 0.4207,
"delta": 0.1207,
"percent_delta": 0.4022,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.0,
"delta": -0.234,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0,
"delta": -0.02,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.44,
"after": 4.0,
"delta": -0.44,
"percent_delta": -0.0991,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2338,
"delta": 0.0018,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.591,
"after": 1.0,
"delta": 0.409,
"percent_delta": 0.692,
"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.21,
"after": 1.0,
"delta": 0.79,
"percent_delta": 3.7619,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.34,
"after": 0.3249,
"delta": -0.0151,
"percent_delta": -0.0444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.718,
"after": 1.0,
"delta": 0.282,
"percent_delta": 0.3928,
"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.461,
"after": 0.4207,
"delta": -0.0403,
"percent_delta": -0.0874,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.421,
"after": 1.0,
"delta": -0.421,
"percent_delta": -0.2963,
"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.51,
"after": 2.0,
"delta": 1.49,
"percent_delta": 2.9216,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.44,
"after": 4.0,
"delta": -0.44,
"percent_delta": -0.0991,
"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.234 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.440 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.591 | - |
| predicted_H | 1.030 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.340 | - |
| predicted_R | 0.718 | - |
| predicted_RBI | 0.510 | - |
| predicted_SLG | 0.461 | - |
| predicted_SO | 1.421 | - |
Final model 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.576 | 0.342 |
| predicted_3B | 0.041 | 0.021 |
| predicted_AB | 9.707 | 5.267 |
| predicted_AVG | 0.233 | 0.001 |
| predicted_BB | 1.312 | 0.721 |
| predicted_H | 2.266 | 1.236 |
| predicted_HBP | 0.284 | - |
| predicted_HR | 0.389 | 0.179 |
| predicted_OBP | 0.337 | -0.003 |
| predicted_R | 1.669 | 0.951 |
| predicted_RBI | 1.105 | 0.595 |
| predicted_SLG | 0.441 | -0.020 |
| predicted_SO | 3.377 | 1.956 |
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.576 | 0.000 |
| predicted_3B | 0.041 | 0.000 |
| predicted_AB | 9.707 | 0.000 |
| predicted_AVG | 0.234 | 0.001 |
| predicted_BB | 1.310 | -0.001 |
| predicted_H | 2.269 | 0.003 |
| predicted_HBP | 0.284 | 0.000 |
| predicted_HR | 0.385 | -0.004 |
| predicted_OBP | 0.325 | -0.012 |
| predicted_R | 1.675 | 0.007 |
| predicted_RBI | 1.110 | 0.005 |
| predicted_SLG | 0.421 | -0.021 |
| predicted_SO | 3.381 | 0.003 |
AB rounded to 10 (raw=9.71), rates preserved: AVG=0.234 HR/AB=0.040
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 10.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=7.0, weight=0.076, BvP AVG=0.286)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SO | 4.000 | 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 | 10.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 | 4.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.424 |
| predicted_3B | 0.000 | -0.041 |
| predicted_AB | 10.000 | 0.293 |
| predicted_AVG | 0.200 | -0.034 |
| predicted_BB | 1.000 | -0.310 |
| predicted_H | 2.000 | -0.269 |
| predicted_HR | 0.000 | -0.385 |
| predicted_OBP | 0.273 | -0.052 |
| predicted_R | 2.000 | 0.325 |
| predicted_RBI | 1.000 | -0.110 |
| predicted_SLG | 0.300 | -0.121 |
| predicted_SO | 4.000 | 0.619 |
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 | -6.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 | 5.000 | - |
| R | 1.000 | -1.000 |
| RBI | 2.000 | 1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.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 | 2 | - | 20.000 | 3.000 | 1.000 | 0.000 | 0.000 | 1.000 | 2.000 | 1.000 | 8.000 | 0.1500 | 0.1905 | 0.2000 | 0.1500 | 0.0000 | 0.0500 | 0.0500 | 0.4000 |
| last_10 | 0.20 | 3 | - | 40.000 | 15.000 | 5.000 | 0.000 | 0.000 | 5.000 | 10.000 | 5.000 | 12.000 | 0.3750 | 0.4444 | 0.5000 | 0.3750 | 0.0000 | 0.1250 | 0.1250 | 0.3000 |
| season | 0.60 | 56 | - | 995.000 | 234.000 | 59.000 | 5.000 | 45.000 | 120.000 | 181.000 | 149.000 | 358.000 | 0.2352 | 0.3453 | 0.4402 | 0.2352 | 0.0452 | 0.1206 | 0.1497 | 0.3598 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0060 |
| predicted_3B | 0.0680 |
| predicted_AB | 16.3390 |
| predicted_AVG | 0.2339 |
| predicted_BB | 2.2190 |
| predicted_H | 3.8220 |
| predicted_HBP | 0.2840 |
| predicted_HR | 0.6140 |
| predicted_OBP | 0.3331 |
| predicted_R | 2.8650 |
| predicted_RBI | 1.8540 |
| predicted_SLG | 0.4166 |
| predicted_SO | 5.8400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 1.0060 | 0.5758 | model_form_blend |
| predicted_3B | 0.0200 | 0.0680 | 0.0412 | model_form_blend |
| predicted_AB | 4.4400 | 16.3390 | 9.7075 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2339 | 0.2328 | model_form_blend |
| predicted_BB | 0.5910 | 2.2190 | 1.3117 | model_form_blend |
| predicted_H | 1.0300 | 3.8220 | 2.2660 | model_form_blend |
| predicted_HBP | - | 0.2840 | 0.2840 | form_only |
| predicted_HR | 0.2100 | 0.6140 | 0.3888 | model_form_blend |
| predicted_OBP | 0.3400 | 0.3331 | 0.3369 | model_form_blend |
| predicted_R | 0.7180 | 2.8650 | 1.6685 | model_form_blend |
| predicted_RBI | 0.5100 | 1.8540 | 1.1050 | model_form_blend |
| predicted_SLG | 0.4610 | 0.4166 | 0.4413 | model_form_blend |
| predicted_SO | 1.4210 | 5.8400 | 3.3772 | 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.235 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | SS |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 687263 |
| playerID | 687263 |
| playerName | Zach Neto |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 30.6 |
| sl_bb_percent | 12.3 |
| sl_woba | 0.346 |
| sl_xwoba | 0.329 |
| sl_xba | 0.214 |
| sl_xslg | 0.419 |
| sl_sweet_spot_percent | 36.0 |
| sl_barrel_batted_rate | 12.2 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 22.5 |
| sl_whiff_percent | 30.3 |
| sl_swing_percent | 49.6 |
| at_bat_number | 64.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Zach Neto lines out to second baseman Hao-Yu Lee. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 73.1 |
| ab_launch_angle_last | 16.0 |
| ab_hit_distance_last | 158.0 |
| ab_estimated_ba_last | 0.637 |
| ab_estimated_woba_last | 0.573 |
| ab_estimated_slg_last | 0.65 |
| 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 | 1.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 92.6 |
| ab_release_spin_rate_avg | 2724.0 |
| ab_effective_speed_avg | 94.1 |
| ab_launch_speed_avg | 73.1 |
| ab_launch_angle_avg | 16.0 |
| ab_delta_run_exp_avg | -0.0856666666666666 |
| ab_delta_home_win_exp_avg | 0.0016666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0856666666666666 |
| ab_bat_speed_avg | 73.65 |
| ab_swing_length_avg | 7.35 |
| ab_launch_speed_max | 73.1 |
| ab_hit_distance_sc_max | 158.0 |
| ab_release_speed_max | 93.2 |
| ab_release_spin_rate_max | 2765.0 |
| ab_release_speed_min | 92.1 |
| ab_release_spin_rate_min | 2684.0 |
| ab_delta_run_exp_sum | -0.257 |
| ab_delta_home_win_exp_sum | 0.005 |
| ab_delta_pitcher_run_exp_sum | 0.257 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.181 | 0.000 | 0.000 | Hitting_2B | 0.181 | 0.000 | -0.181 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.930 | 4.000 | 9.000 | Hitting_AB | 3.769 | 4.000 | 0.231 | 0.000 |
| predicted_AVG | 0.224 | 0.250 | 0.222 | Hitting_AVG | 0.219 | 0.250 | 0.031 | 0.000 |
| predicted_BB | 0.431 | 1.000 | 1.000 | Hitting_BB | 0.431 | 0.000 | 0.569 | 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.824 | 1.000 | 0.176 | 0.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.288 | 0.400 | 0.300 | Hitting_OBP | 0.306 | 0.250 | 0.094 | 0.150 |
| predicted_R | 0.514 | 1.000 | 1.000 | Hitting_R | 0.514 | 0.000 | 0.486 | 1.000 |
| predicted_RBI | 0.430 | 0.000 | 1.000 | Hitting_RBI | 0.606 | 0.000 | -0.606 | 0.000 |
| predicted_SLG | 0.370 | 0.250 | 0.222 | Hitting_SLG | 0.399 | 0.250 | -0.149 | 0.000 |
| predicted_SO | 1.319 | 2.000 | 3.000 | Hitting_SO | 1.319 | 2.000 | 0.681 | 0.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.3190 -> 2.0000 (boost 0.6810, worse) |
| Biggest Deboost | predicted_RBI: 0.4300 -> 0.0000 (deboost -0.4300, 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.9300 -> 8.6772 (boost 4.7472, 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 | 7 | 3 | 4 | 3 | 4 | predicted_AB: 8.6772 -> 9.0000 (boost 0.3228, better) | predicted_2B: 0.3618 -> 0.0000 (deboost -0.3618, worse) | AB rounded to 9 (raw=8.68), rates preserved: AVG=0.223 HR/AB=0.036 |
| 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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2924 -> 0.3000 (boost 0.0076, better) | predicted_SLG: 0.3731 -> 0.2220 (deboost -0.1511, 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: 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.3731 (boost 0.1511, better) | predicted_OBP: 0.3000 -> 0.2924 (deboost -0.0076, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624585",
"player_name": "Jorge Soler",
"position": "DH",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.0,
"predicted_AB": 3.93,
"predicted_AVG": 0.224,
"predicted_BB": 0.431,
"predicted_H": 0.88,
"predicted_HR": 0.14,
"predicted_OBP": 0.288,
"predicted_R": 0.514,
"predicted_RBI": 0.43,
"predicted_SLG": 0.37,
"predicted_SO": 1.319
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3618,
"predicted_3B": 0.0009,
"predicted_AB": 8.6772,
"predicted_AVG": 0.2231,
"predicted_BB": 0.8543,
"predicted_H": 1.9302,
"predicted_HBP": 0.223,
"predicted_HR": 0.3164,
"predicted_OBP": 0.2907,
"predicted_R": 1.0263,
"predicted_RBI": 1.109,
"predicted_SLG": 0.3712,
"predicted_SO": 3.0288
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.181,
"after": 0.3618,
"delta": 0.1808,
"percent_delta": 0.9989,
"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.93,
"after": 8.6772,
"delta": 4.7472,
"percent_delta": 1.2079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2231,
"delta": -0.0009,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 0.8543,
"delta": 0.4233,
"percent_delta": 0.9821,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.9302,
"delta": 1.0502,
"percent_delta": 1.1934,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.3164,
"delta": 0.1764,
"percent_delta": 1.26,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2907,
"delta": 0.0027,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 1.0263,
"delta": 0.5123,
"percent_delta": 0.9967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 1.109,
"delta": 0.679,
"percent_delta": 1.5791,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.37,
"after": 0.3712,
"delta": 0.0012,
"percent_delta": 0.0032,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.319,
"after": 3.0288,
"delta": 1.7098,
"percent_delta": 1.2963,
"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.93,
"after": 8.6772,
"delta": 4.7472,
"percent_delta": 1.2079,
"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": 3,
"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.3618,
"predicted_3B": 0.0009,
"predicted_AB": 8.6772,
"predicted_AVG": 0.2228,
"predicted_BB": 0.8534,
"predicted_H": 1.9331,
"predicted_HBP": 0.223,
"predicted_HR": 0.3136,
"predicted_OBP": 0.2924,
"predicted_R": 1.0306,
"predicted_RBI": 1.1137,
"predicted_SLG": 0.3731,
"predicted_SO": 3.0318
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3618,
"after": 0.3618,
"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.6772,
"after": 8.6772,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2231,
"after": 0.2228,
"delta": -0.0003,
"percent_delta": -0.0013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.8543,
"after": 0.8534,
"delta": -0.0009,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9302,
"after": 1.9331,
"delta": 0.0029,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.223,
"after": 0.223,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3164,
"after": 0.3136,
"delta": -0.0028,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2907,
"after": 0.2924,
"delta": 0.0017,
"percent_delta": 0.0058,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0263,
"after": 1.0306,
"delta": 0.0043,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.109,
"after": 1.1137,
"delta": 0.0047,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3712,
"after": 0.3731,
"delta": 0.0019,
"percent_delta": 0.0051,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0288,
"after": 3.0318,
"delta": 0.003,
"percent_delta": 0.001,
"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 9 (raw=8.68), rates preserved: AVG=0.223 HR/AB=0.036",
"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.3618,
"after": 0.0,
"delta": -0.3618,
"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.6772,
"after": 9.0,
"delta": 0.3228,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8534,
"after": 1.0,
"delta": 0.1466,
"percent_delta": 0.1718,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9331,
"after": 2.0,
"delta": 0.0669,
"percent_delta": 0.0346,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.223,
"after": 0.0,
"delta": -0.223,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3136,
"after": 0.0,
"delta": -0.3136,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1137,
"after": 1.0,
"delta": -0.1137,
"percent_delta": -0.1021,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0318,
"after": 3.0,
"delta": -0.0318,
"percent_delta": -0.0105,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_AB",
"before": 8.6772,
"after": 9.0,
"delta": 0.3228,
"percent_delta": 0.0372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3618,
"after": 0.0,
"delta": -0.3618,
"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.273)",
"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.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": 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.0306,
"after": 1.0,
"delta": -0.0306,
"percent_delta": -0.0297,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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": 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.2228,
"after": 0.222,
"delta": -0.0008,
"percent_delta": -0.0036,
"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.2924,
"after": 0.3,
"delta": 0.0076,
"percent_delta": 0.026,
"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.3731,
"after": 0.222,
"delta": -0.1511,
"percent_delta": -0.405,
"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.2924,
"after": 0.3,
"delta": 0.0076,
"percent_delta": 0.026,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3731,
"after": 0.222,
"delta": -0.1511,
"percent_delta": -0.405,
"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": 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": 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": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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.2228,
"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.2924,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3731,
"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.2228,
"delta": 0.0008,
"percent_delta": 0.0035,
"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.3,
"after": 0.2924,
"delta": -0.0076,
"percent_delta": -0.0254,
"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.222,
"after": 0.3731,
"delta": 0.1511,
"percent_delta": 0.6806,
"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.3731,
"delta": 0.1511,
"percent_delta": 0.6806,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3,
"after": 0.2924,
"delta": -0.0076,
"percent_delta": -0.0254,
"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.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2228,
"delta": -0.0012,
"percent_delta": -0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 1.0,
"delta": 0.569,
"percent_delta": 1.3202,
"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.14,
"after": 0.0,
"delta": -0.14,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.288,
"after": 0.2924,
"delta": 0.0044,
"percent_delta": 0.0153,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.514,
"after": 1.0,
"delta": 0.486,
"percent_delta": 0.9455,
"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.37,
"after": 0.3731,
"delta": 0.0031,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.319,
"after": 2.0,
"delta": 0.681,
"percent_delta": 0.5163,
"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.319,
"after": 2.0,
"delta": 0.681,
"percent_delta": 0.5163,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"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.181 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.431 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.288 | - |
| predicted_R | 0.514 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.370 | - |
| predicted_SO | 1.319 | - |
Final model 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.362 | 0.181 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.677 | 4.747 |
| predicted_AVG | 0.223 | -0.001 |
| predicted_BB | 0.854 | 0.423 |
| predicted_H | 1.930 | 1.050 |
| predicted_HBP | 0.223 | - |
| predicted_HR | 0.316 | 0.176 |
| predicted_OBP | 0.291 | 0.003 |
| predicted_R | 1.026 | 0.512 |
| predicted_RBI | 1.109 | 0.679 |
| predicted_SLG | 0.371 | 0.001 |
| predicted_SO | 3.029 | 1.710 |
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.362 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.677 | 0.000 |
| predicted_AVG | 0.223 | -0.000 |
| predicted_BB | 0.853 | -0.001 |
| predicted_H | 1.933 | 0.003 |
| predicted_HBP | 0.223 | 0.000 |
| predicted_HR | 0.314 | -0.003 |
| predicted_OBP | 0.292 | 0.002 |
| predicted_R | 1.031 | 0.004 |
| predicted_RBI | 1.114 | 0.005 |
| predicted_SLG | 0.373 | 0.002 |
| predicted_SO | 3.032 | 0.003 |
AB rounded to 9 (raw=8.68), rates preserved: AVG=0.223 HR/AB=0.036
| 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=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 | 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.362 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | 0.323 |
| predicted_AVG | 0.222 | -0.001 |
| predicted_BB | 1.000 | 0.147 |
| predicted_H | 2.000 | 0.067 |
| predicted_HR | 0.000 | -0.314 |
| predicted_OBP | 0.300 | 0.008 |
| predicted_R | 1.000 | -0.031 |
| predicted_RBI | 1.000 | -0.114 |
| predicted_SLG | 0.222 | -0.151 |
| predicted_SO | 3.000 | -0.032 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | -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 | 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 | -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 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 9.000 | 0.2381 | 0.2381 | 0.2381 | 0.2381 | 0.0000 | 0.0000 | 0.0000 | 0.4286 |
| last_10 | 0.20 | 3 | - | 45.000 | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 15.000 | 0.2222 | 0.2222 | 0.2222 | 0.2222 | 0.0000 | 0.0000 | 0.0000 | 0.3333 |
| season | 0.60 | 52 | - | 814.000 | 178.000 | 39.000 | 0.000 | 36.000 | 131.000 | 111.000 | 93.000 | 285.000 | 0.2187 | 0.3056 | 0.3993 | 0.2187 | 0.0442 | 0.1609 | 0.1143 | 0.3501 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5910 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.6970 |
| predicted_AVG | 0.2219 |
| predicted_BB | 1.3910 |
| predicted_H | 3.2620 |
| predicted_HBP | 0.2230 |
| predicted_HR | 0.5400 |
| predicted_OBP | 0.2941 |
| predicted_R | 1.6760 |
| predicted_RBI | 1.9700 |
| predicted_SLG | 0.3727 |
| predicted_SO | 5.1970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1810 | 0.5910 | 0.3618 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9300 | 14.6970 | 8.6772 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2219 | 0.2231 | model_form_blend |
| predicted_BB | 0.4310 | 1.3910 | 0.8543 | model_form_blend |
| predicted_H | 0.8800 | 3.2620 | 1.9302 | model_form_blend |
| predicted_HBP | - | 0.2230 | 0.2230 | form_only |
| predicted_HR | 0.1400 | 0.5400 | 0.3164 | model_form_blend |
| predicted_OBP | 0.2880 | 0.2941 | 0.2907 | model_form_blend |
| predicted_R | 0.5140 | 1.6760 | 1.0263 | model_form_blend |
| predicted_RBI | 0.4300 | 1.9700 | 1.1090 | model_form_blend |
| predicted_SLG | 0.3700 | 0.3727 | 0.3712 | model_form_blend |
| predicted_SO | 1.3190 | 5.1970 | 3.0288 | 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 | 216 |
| 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 | 0 |
| BB | 1 |
| 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 | 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 | 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 | 20260527_LAA@DET |
| game_type | full |
| mlbID | 624585 |
| playerID | 624585 |
| playerName | Jorge Soler |
| pos | DH |
| started | True |
| startingPosition | DH |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 9.3 |
| sl_woba | 0.313 |
| sl_xwoba | 0.315 |
| sl_xba | 0.222 |
| sl_xslg | 0.407 |
| sl_sweet_spot_percent | 34.7 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 43.5 |
| sl_exit_velocity_avg | 88.7 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 35.2 |
| sl_swing_percent | 47.1 |
| at_bat_number | 67.0 |
| ab_pitcher | 669724.0 |
| ab_pitcher_name | Hanifee, Brenan |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 687093.0 |
| ab_on_2b_start | 545361.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Jorge Soler grounds out, first baseman Spencer Torkelson to pitcher Brenan Hanifee. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 96.9 |
| ab_launch_angle_last | -27.0 |
| ab_hit_distance_last | 6.0 |
| ab_estimated_ba_last | 0.107 |
| ab_estimated_woba_last | 0.109 |
| ab_estimated_slg_last | 0.126 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 94.0 |
| ab_release_spin_rate_avg | 2018.0 |
| ab_effective_speed_avg | 93.9 |
| ab_launch_speed_avg | 96.9 |
| ab_launch_angle_avg | -27.0 |
| ab_delta_run_exp_avg | -0.286 |
| ab_delta_home_win_exp_avg | 0.011 |
| ab_delta_pitcher_run_exp_avg | 0.286 |
| ab_bat_speed_avg | 63.7 |
| ab_swing_length_avg | 5.6 |
| ab_launch_speed_max | 96.9 |
| ab_hit_distance_sc_max | 6.0 |
| ab_release_speed_max | 94.0 |
| ab_release_spin_rate_max | 2018.0 |
| ab_release_speed_min | 94.0 |
| ab_release_spin_rate_min | 2018.0 |
| ab_delta_run_exp_sum | -0.286 |
| ab_delta_home_win_exp_sum | 0.011 |
| ab_delta_pitcher_run_exp_sum | 0.286 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.156 | 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.970 | 4.000 | 8.000 | Hitting_AB | 3.549 | 2.000 | 0.451 | 2.000 |
| predicted_AVG | 0.232 | 0.000 | 0.250 | Hitting_AVG | 0.242 | 0.000 | -0.242 | 0.000 |
| predicted_BB | 0.955 | 1.000 | 2.000 | Hitting_BB | 0.955 | 2.000 | 0.045 | -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.861 | 0.000 | -0.861 | 0.000 |
| predicted_HR | 0.220 | 0.000 | 0.000 | Hitting_HR | 0.254 | 0.000 | -0.254 | 0.000 |
| predicted_OBP | 0.359 | 0.200 | 0.400 | Hitting_OBP | 0.411 | 0.500 | -0.211 | -0.300 |
| predicted_R | 0.762 | 0.000 | 2.000 | Hitting_R | 0.762 | 0.000 | -0.762 | 0.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.553 | 0.000 | -0.553 | 0.000 |
| predicted_SLG | 0.454 | 0.000 | 0.250 | Hitting_SLG | 0.501 | 0.000 | -0.501 | 0.000 |
| predicted_SO | 1.053 | 2.000 | 2.000 | Hitting_SO | 1.053 | 1.000 | 0.947 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 7 |
| Better Metrics | 1 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.0530 -> 2.0000 (boost 0.9470, worse) |
| 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 | 9 | 2 | 8 | 3 | predicted_AB: 3.9700 -> 8.4531 (boost 4.4831, better) | predicted_SLG: 0.4540 -> 0.4386 (deboost -0.0154, 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_OBP: 0.3792 -> 0.3948 (boost 0.0156, better) | predicted_SLG: 0.4386 -> 0.4225 (deboost -0.0161, 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_H: 1.7950 -> 2.0000 (boost 0.2050, better) | predicted_SO: 2.6347 -> 2.0000 (deboost -0.6347, better) | AB rounded to 8 (raw=8.45), rates preserved: AVG=0.212 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.6491 -> 2.0000 (boost 0.3509, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2123 -> 0.2500 (boost 0.0377, better) | predicted_SLG: 0.4225 -> 0.2500 (deboost -0.1725, 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: 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.4225 (boost 0.1725, better) | predicted_AVG: 0.2500 -> 0.2123 (deboost -0.0377, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545361",
"player_name": "Mike Trout",
"position": "CF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.156,
"predicted_3B": 0.0,
"predicted_AB": 3.97,
"predicted_AVG": 0.232,
"predicted_BB": 0.955,
"predicted_H": 0.92,
"predicted_HR": 0.22,
"predicted_OBP": 0.359,
"predicted_R": 0.762,
"predicted_RBI": 0.55,
"predicted_SLG": 0.454,
"predicted_SO": 1.053
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.317,
"predicted_3B": 0.0004,
"predicted_AB": 8.4531,
"predicted_AVG": 0.2201,
"predicted_BB": 2.551,
"predicted_H": 1.7923,
"predicted_HBP": 0.188,
"predicted_HR": 0.4907,
"predicted_OBP": 0.3792,
"predicted_R": 1.6422,
"predicted_RBI": 1.1281,
"predicted_SLG": 0.4386,
"predicted_SO": 2.6321
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.317,
"delta": 0.161,
"percent_delta": 1.0321,
"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.97,
"after": 8.4531,
"delta": 4.4831,
"percent_delta": 1.1292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2201,
"delta": -0.0119,
"percent_delta": -0.0513,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.955,
"after": 2.551,
"delta": 1.596,
"percent_delta": 1.6712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.7923,
"delta": 0.8723,
"percent_delta": 0.9482,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.4907,
"delta": 0.2707,
"percent_delta": 1.2305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3792,
"delta": 0.0202,
"percent_delta": 0.0563,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.762,
"after": 1.6422,
"delta": 0.8802,
"percent_delta": 1.1551,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.1281,
"delta": 0.5781,
"percent_delta": 1.0511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4386,
"delta": -0.0154,
"percent_delta": -0.0339,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.053,
"after": 2.6321,
"delta": 1.5791,
"percent_delta": 1.4996,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 9,
"deboosted_metrics": 2,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.97,
"after": 8.4531,
"delta": 4.4831,
"percent_delta": 1.1292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4386,
"delta": -0.0154,
"percent_delta": -0.0339,
"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": 3,
"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.317,
"predicted_3B": 0.0004,
"predicted_AB": 8.4531,
"predicted_AVG": 0.2123,
"predicted_BB": 2.5484,
"predicted_H": 1.795,
"predicted_HBP": 0.188,
"predicted_HR": 0.4863,
"predicted_OBP": 0.3948,
"predicted_R": 1.6491,
"predicted_RBI": 1.1328,
"predicted_SLG": 0.4225,
"predicted_SO": 2.6347
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.317,
"after": 0.317,
"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.4531,
"after": 8.4531,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2201,
"after": 0.2123,
"delta": -0.0078,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.551,
"after": 2.5484,
"delta": -0.0026,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7923,
"after": 1.795,
"delta": 0.0027,
"percent_delta": 0.0015,
"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.4907,
"after": 0.4863,
"delta": -0.0044,
"percent_delta": -0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3792,
"after": 0.3948,
"delta": 0.0156,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6422,
"after": 1.6491,
"delta": 0.0069,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1281,
"after": 1.1328,
"delta": 0.0047,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4386,
"after": 0.4225,
"delta": -0.0161,
"percent_delta": -0.0367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6321,
"after": 2.6347,
"delta": 0.0026,
"percent_delta": 0.001,
"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.3792,
"after": 0.3948,
"delta": 0.0156,
"percent_delta": 0.0411,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4386,
"after": 0.4225,
"delta": -0.0161,
"percent_delta": -0.0367,
"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.212 HR/AB=0.058",
"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.317,
"after": 0.0,
"delta": -0.317,
"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.4531,
"after": 8.0,
"delta": -0.4531,
"percent_delta": -0.0536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 2.5484,
"after": 2.0,
"delta": -0.5484,
"percent_delta": -0.2152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.795,
"after": 2.0,
"delta": 0.205,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"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.4863,
"after": 0.0,
"delta": -0.4863,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1328,
"after": 1.0,
"delta": -0.1328,
"percent_delta": -0.1172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6347,
"after": 2.0,
"delta": -0.6347,
"percent_delta": -0.2409,
"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.795,
"after": 2.0,
"delta": 0.205,
"percent_delta": 0.1142,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.6347,
"after": 2.0,
"delta": -0.6347,
"percent_delta": -0.2409,
"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": 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": 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.6491,
"after": 2.0,
"delta": 0.3509,
"percent_delta": 0.2128,
"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.6491,
"after": 2.0,
"delta": 0.3509,
"percent_delta": 0.2128,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 2.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.2123,
"after": 0.25,
"delta": 0.0377,
"percent_delta": 0.1776,
"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_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.3948,
"after": 0.4,
"delta": 0.0052,
"percent_delta": 0.0132,
"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.4225,
"after": 0.25,
"delta": -0.1725,
"percent_delta": -0.4083,
"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.2123,
"after": 0.25,
"delta": 0.0377,
"percent_delta": 0.1776,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4225,
"after": 0.25,
"delta": -0.1725,
"percent_delta": -0.4083,
"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": 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": 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": 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": 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.2123,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3948,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4225,
"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.2123,
"delta": -0.0377,
"percent_delta": -0.1506,
"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.3948,
"delta": -0.0052,
"percent_delta": -0.013,
"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.4225,
"delta": 0.1725,
"percent_delta": 0.6901,
"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.25,
"after": 0.4225,
"delta": 0.1725,
"percent_delta": 0.6901,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.25,
"after": 0.2123,
"delta": -0.0377,
"percent_delta": -0.1506,
"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.156,
"after": 0.0,
"delta": -0.156,
"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.97,
"after": 4.0,
"delta": 0.03,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.232,
"after": 0.2123,
"delta": -0.0197,
"percent_delta": -0.0849,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.955,
"after": 1.0,
"delta": 0.045,
"percent_delta": 0.0471,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.22,
"after": 0.0,
"delta": -0.22,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.359,
"after": 0.3948,
"delta": 0.0358,
"percent_delta": 0.0997,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.762,
"after": 0.0,
"delta": -0.762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4225,
"delta": -0.0315,
"percent_delta": -0.0694,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.053,
"after": 2.0,
"delta": 0.947,
"percent_delta": 0.8993,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 2,
"deboosted_metrics": 7,
"better_metrics": 1,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.053,
"after": 2.0,
"delta": 0.947,
"percent_delta": 0.8993,
"direction": "boost",
"projection_effect": "worse",
"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.156 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.970 | - |
| predicted_AVG | 0.232 | - |
| predicted_BB | 0.955 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.359 | - |
| predicted_R | 0.762 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 1.053 | - |
Final model 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.317 | 0.161 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.453 | 4.483 |
| predicted_AVG | 0.220 | -0.012 |
| predicted_BB | 2.551 | 1.596 |
| predicted_H | 1.792 | 0.872 |
| predicted_HBP | 0.188 | - |
| predicted_HR | 0.491 | 0.271 |
| predicted_OBP | 0.379 | 0.020 |
| predicted_R | 1.642 | 0.880 |
| predicted_RBI | 1.128 | 0.578 |
| predicted_SLG | 0.439 | -0.015 |
| predicted_SO | 2.632 | 1.579 |
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.317 | 0.000 |
| predicted_3B | 0.000 | 0.000 |
| predicted_AB | 8.453 | 0.000 |
| predicted_AVG | 0.212 | -0.008 |
| predicted_BB | 2.548 | -0.003 |
| predicted_H | 1.795 | 0.003 |
| predicted_HBP | 0.188 | 0.000 |
| predicted_HR | 0.486 | -0.004 |
| predicted_OBP | 0.395 | 0.016 |
| predicted_R | 1.649 | 0.007 |
| predicted_RBI | 1.133 | 0.005 |
| predicted_SLG | 0.422 | -0.016 |
| predicted_SO | 2.635 | 0.003 |
AB rounded to 8 (raw=8.45), rates preserved: AVG=0.212 HR/AB=0.058
| 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 | - |
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 | 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.317 |
| predicted_3B | 0.000 | -0.000 |
| predicted_AB | 8.000 | -0.453 |
| predicted_AVG | 0.250 | 0.038 |
| predicted_BB | 2.000 | -0.548 |
| predicted_H | 2.000 | 0.205 |
| predicted_HR | 0.000 | -0.486 |
| predicted_OBP | 0.400 | 0.005 |
| predicted_R | 2.000 | 0.351 |
| predicted_RBI | 1.000 | -0.133 |
| predicted_SLG | 0.250 | -0.172 |
| predicted_SO | 2.000 | -0.635 |
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 | -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 | -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 | 2 | - | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 9.000 | 6.000 | 0.0000 | 0.4286 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.7500 | 0.5000 |
| last_10 | 0.20 | 3 | - | 32.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 13.000 | 16.000 | 0.0312 | 0.3111 | 0.0312 | 0.0312 | 0.0000 | 0.0312 | 0.4062 | 0.5000 |
| season | 0.60 | 55 | - | 866.000 | 210.000 | 38.000 | 0.000 | 62.000 | 135.000 | 186.000 | 233.000 | 257.000 | 0.2425 | 0.4106 | 0.5012 | 0.2425 | 0.0716 | 0.1559 | 0.2691 | 0.2968 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5200 |
| predicted_3B | 0.0010 |
| predicted_AB | 14.1050 |
| predicted_AVG | 0.2050 |
| predicted_BB | 4.5630 |
| predicted_H | 2.8920 |
| predicted_HBP | 0.1880 |
| predicted_HR | 0.8320 |
| predicted_OBP | 0.4046 |
| predicted_R | 2.7520 |
| predicted_RBI | 1.8570 |
| predicted_SLG | 0.4191 |
| predicted_SO | 4.6230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.5200 | 0.3170 | model_form_blend |
| predicted_3B | 0.0000 | 0.0010 | 0.0004 | model_form_blend |
| predicted_AB | 3.9700 | 14.1050 | 8.4531 | model_form_blend |
| predicted_AVG | 0.2320 | 0.2050 | 0.2201 | model_form_blend |
| predicted_BB | 0.9550 | 4.5630 | 2.5510 | model_form_blend |
| predicted_H | 0.9200 | 2.8920 | 1.7923 | model_form_blend |
| predicted_HBP | - | 0.1880 | 0.1880 | form_only |
| predicted_HR | 0.2200 | 0.8320 | 0.4907 | model_form_blend |
| predicted_OBP | 0.3590 | 0.4046 | 0.3792 | model_form_blend |
| predicted_R | 0.7620 | 2.7520 | 1.6422 | model_form_blend |
| predicted_RBI | 0.5500 | 1.8570 | 1.1281 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4191 | 0.4386 | model_form_blend |
| predicted_SO | 1.0530 | 4.6230 | 2.6321 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.242 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 2 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 2 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 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 | 20260527_LAA@DET |
| game_type | full |
| mlbID | 545361 |
| playerID | 545361 |
| playerName | Mike Trout |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 19.8 |
| sl_woba | 0.384 |
| sl_xwoba | 0.414 |
| sl_xba | 0.254 |
| sl_xslg | 0.568 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 20.3 |
| sl_hard_hit_percent | 47.8 |
| sl_exit_velocity_avg | 91.0 |
| sl_launch_angle_avg | 20.7 |
| sl_whiff_percent | 21.7 |
| sl_swing_percent | 37.2 |
| at_bat_number | 65.0 |
| ab_pitcher | 445276.0 |
| ab_pitcher_name | Jansen, Kenley |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 4.0 |
| ab_event | walk |
| ab_event_description | Mike Trout walks. |
| ab_event_type | B |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 11.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 91.15 |
| ab_release_spin_rate_avg | 2624.25 |
| ab_effective_speed_avg | 92.35 |
| ab_delta_run_exp_avg | 0.08325 |
| ab_delta_home_win_exp_avg | -0.00075 |
| ab_delta_pitcher_run_exp_avg | -0.08325 |
| ab_release_speed_max | 92.1 |
| ab_release_spin_rate_max | 2677.0 |
| ab_release_speed_min | 89.3 |
| ab_release_spin_rate_min | 2578.0 |
| ab_delta_run_exp_sum | 0.333 |
| ab_delta_home_win_exp_sum | -0.003 |
| ab_delta_pitcher_run_exp_sum | -0.333 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.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.133 | 4.000 | 5.000 | Hitting_AB | 3.133 | 3.000 | 0.867 | 1.000 |
| predicted_AVG | 0.284 | 0.500 | 0.400 | Hitting_AVG | 0.426 | 0.000 | 0.074 | 0.500 |
| predicted_BB | 0.267 | 1.000 | 0.000 | Hitting_BB | 0.267 | 0.000 | 0.733 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 2.000 | 2.000 | Hitting_H | 1.333 | 0.000 | 0.667 | 2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.267 | 0.000 | -0.267 | 0.000 |
| predicted_OBP | 0.348 | 0.600 | 0.400 | Hitting_OBP | 0.471 | 0.000 | 0.129 | 0.600 |
| predicted_R | 0.267 | 1.000 | 0.000 | Hitting_R | 0.267 | 0.000 | 0.733 | 1.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.800 | 0.000 | -0.800 | 0.000 |
| predicted_SLG | 0.465 | 0.500 | 0.400 | Hitting_SLG | 0.681 | 0.000 | -0.181 | 0.500 |
| predicted_SO | 0.200 | 0.000 | 0.000 | Hitting_SO | 0.200 | 0.000 | -0.200 | 0.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 | 7 |
| Worse Metrics | 2 |
| Biggest Boost | predicted_H: 0.8400 -> 2.0000 (boost 1.1600, 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 | 10 | 10 | 0 | 9 | 1 | predicted_AB: 3.1330 -> 4.5222 (boost 1.3892, 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.3040 -> 0.3090 (boost 0.0050, better) | predicted_SLG: 0.4865 -> 0.4651 (deboost -0.0214, 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 | 4 | 2 | predicted_H: 1.3973 -> 2.0000 (boost 0.6027, better) | predicted_SO: 0.4211 -> 0.0000 (deboost -0.4211, better) | AB rounded to 5 (raw=4.52), rates preserved: AVG=0.309 HR/AB=0.048 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3975 -> 0.0000 (deboost -0.3975, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.3090 -> 0.4000 (boost 0.0910, better) | predicted_SLG: 0.4651 -> 0.4000 (deboost -0.0651, 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_BB: 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4000 -> 0.4651 (boost 0.0651, better) | predicted_AVG: 0.4000 -> 0.3090 (deboost -0.0910, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "685133",
"player_name": "Wade Meckler",
"position": "LF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.133,
"predicted_AVG": 0.284,
"predicted_BB": 0.267,
"predicted_H": 0.84,
"predicted_HR": 0.13,
"predicted_OBP": 0.348,
"predicted_R": 0.267,
"predicted_RBI": 0.46,
"predicted_SLG": 0.465,
"predicted_SO": 0.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.0444,
"predicted_3B": 0.0034,
"predicted_AB": 4.5222,
"predicted_AVG": 0.304,
"predicted_BB": 0.3504,
"predicted_H": 1.3952,
"predicted_HBP": 0.024,
"predicted_HR": 0.2202,
"predicted_OBP": 0.3618,
"predicted_R": 0.3958,
"predicted_RBI": 0.7344,
"predicted_SLG": 0.4865,
"predicted_SO": 0.4207
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0444,
"delta": 0.0444,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0034,
"delta": 0.0034,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.133,
"after": 4.5222,
"delta": 1.3892,
"percent_delta": 0.4434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.304,
"delta": 0.02,
"percent_delta": 0.0704,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 0.3504,
"delta": 0.0834,
"percent_delta": 0.3124,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.3952,
"delta": 0.5552,
"percent_delta": 0.661,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2202,
"delta": 0.0902,
"percent_delta": 0.6938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3618,
"delta": 0.0138,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 0.3958,
"delta": 0.1288,
"percent_delta": 0.4824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 0.7344,
"delta": 0.2744,
"percent_delta": 0.5965,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.465,
"after": 0.4865,
"delta": 0.0215,
"percent_delta": 0.0462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.2,
"after": 0.4207,
"delta": 0.2207,
"percent_delta": 1.1035,
"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.133,
"after": 4.5222,
"delta": 1.3892,
"percent_delta": 0.4434,
"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": 5
}
},
{
"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.0444,
"predicted_3B": 0.0034,
"predicted_AB": 4.5222,
"predicted_AVG": 0.309,
"predicted_BB": 0.35,
"predicted_H": 1.3973,
"predicted_HBP": 0.024,
"predicted_HR": 0.2182,
"predicted_OBP": 0.3586,
"predicted_R": 0.3975,
"predicted_RBI": 0.7375,
"predicted_SLG": 0.4651,
"predicted_SO": 0.4211
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0444,
"after": 0.0444,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0034,
"after": 0.0034,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5222,
"after": 4.5222,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.304,
"after": 0.309,
"delta": 0.005,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3504,
"after": 0.35,
"delta": -0.0004,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.3952,
"after": 1.3973,
"delta": 0.0021,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.024,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2202,
"after": 0.2182,
"delta": -0.002,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3618,
"after": 0.3586,
"delta": -0.0032,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.3958,
"after": 0.3975,
"delta": 0.0017,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7344,
"after": 0.7375,
"delta": 0.0031,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4865,
"after": 0.4651,
"delta": -0.0214,
"percent_delta": -0.044,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4207,
"after": 0.4211,
"delta": 0.0004,
"percent_delta": 0.001,
"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.304,
"after": 0.309,
"delta": 0.005,
"percent_delta": 0.0164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4865,
"after": 0.4651,
"delta": -0.0214,
"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 5 (raw=4.52), rates preserved: AVG=0.309 HR/AB=0.048",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0444,
"after": 0.0,
"delta": -0.0444,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0034,
"after": 0.0,
"delta": -0.0034,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.5222,
"after": 5.0,
"delta": 0.4778,
"percent_delta": 0.1057,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.35,
"after": 0.0,
"delta": -0.35,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3973,
"after": 2.0,
"delta": 0.6027,
"percent_delta": 0.4313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.024,
"after": 0.0,
"delta": -0.024,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2182,
"after": 0.0,
"delta": -0.2182,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7375,
"after": 1.0,
"delta": 0.2625,
"percent_delta": 0.3559,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.4211,
"after": 0.0,
"delta": -0.4211,
"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_H",
"before": 1.3973,
"after": 2.0,
"delta": 0.6027,
"percent_delta": 0.4313,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.4211,
"after": 0.0,
"delta": -0.4211,
"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": 2.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": 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.3975,
"after": 0.0,
"delta": -0.3975,
"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.3975,
"after": 0.0,
"delta": -0.3975,
"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.4,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4,
"predicted_R": 0.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.4,
"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.309,
"after": 0.4,
"delta": 0.091,
"percent_delta": 0.2945,
"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.3586,
"after": 0.4,
"delta": 0.0414,
"percent_delta": 0.1154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4651,
"after": 0.4,
"delta": -0.0651,
"percent_delta": -0.14,
"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_AVG",
"before": 0.309,
"after": 0.4,
"delta": 0.091,
"percent_delta": 0.2945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4651,
"after": 0.4,
"delta": -0.0651,
"percent_delta": -0.14,
"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": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 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.309,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_LF": 0.0,
"predicted_OBP": 0.3586,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4651,
"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.4,
"after": 0.309,
"delta": -0.091,
"percent_delta": -0.2275,
"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.4,
"after": 0.3586,
"delta": -0.0414,
"percent_delta": -0.1034,
"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.4,
"after": 0.4651,
"delta": 0.0651,
"percent_delta": 0.1627,
"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.4,
"after": 0.4651,
"delta": 0.0651,
"percent_delta": 0.1627,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.4,
"after": 0.309,
"delta": -0.091,
"percent_delta": -0.2275,
"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.133,
"after": 4.0,
"delta": 0.867,
"percent_delta": 0.2767,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.284,
"after": 0.309,
"delta": 0.025,
"percent_delta": 0.088,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 2.0,
"delta": 1.16,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.348,
"after": 0.3586,
"delta": 0.0106,
"percent_delta": 0.0305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.267,
"after": 1.0,
"delta": 0.733,
"percent_delta": 2.7453,
"direction": "boost",
"projection_effect": "better",
"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.465,
"after": 0.4651,
"delta": 0.0001,
"percent_delta": 0.0002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.2,
"after": 0.0,
"delta": -0.2,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 6,
"deboosted_metrics": 3,
"better_metrics": 7,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.84,
"after": 2.0,
"delta": 1.16,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_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": "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.133 | - |
| predicted_AVG | 0.284 | - |
| predicted_BB | 0.267 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.348 | - |
| predicted_R | 0.267 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.465 | - |
| predicted_SO | 0.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.044 | 0.044 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.522 | 1.389 |
| predicted_AVG | 0.304 | 0.020 |
| predicted_BB | 0.350 | 0.083 |
| predicted_H | 1.395 | 0.555 |
| predicted_HBP | 0.024 | - |
| predicted_HR | 0.220 | 0.090 |
| predicted_OBP | 0.362 | 0.014 |
| predicted_R | 0.396 | 0.129 |
| predicted_RBI | 0.734 | 0.274 |
| predicted_SLG | 0.486 | 0.021 |
| predicted_SO | 0.421 | 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.044 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.522 | 0.000 |
| predicted_AVG | 0.309 | 0.005 |
| predicted_BB | 0.350 | -0.000 |
| predicted_H | 1.397 | 0.002 |
| predicted_HBP | 0.024 | 0.000 |
| predicted_HR | 0.218 | -0.002 |
| predicted_OBP | 0.359 | -0.003 |
| predicted_R | 0.398 | 0.002 |
| predicted_RBI | 0.738 | 0.003 |
| predicted_SLG | 0.465 | -0.021 |
| predicted_SO | 0.421 | 0.000 |
AB rounded to 5 (raw=4.52), rates preserved: AVG=0.309 HR/AB=0.048
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 5.000 | - |
| BB | 0.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 0.000 | - |
| RBI | 1.000 | - |
| SB | 0.000 | - |
| SO | 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 | 2.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.044 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 5.000 | 0.478 |
| predicted_AVG | 0.400 | 0.091 |
| predicted_BB | 0.000 | -0.350 |
| predicted_H | 2.000 | 0.603 |
| predicted_HR | 0.000 | -0.218 |
| predicted_OBP | 0.400 | 0.041 |
| predicted_R | 0.000 | -0.398 |
| predicted_RBI | 1.000 | 0.262 |
| predicted_SLG | 0.400 | -0.065 |
| predicted_SO | 0.000 | -0.421 |
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 | 1.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 | 1.000 |
| RBI | 0.000 | -1.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.2353 | 0.2353 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 4 | - | 32.000 | 11.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.3438 | 0.3438 | 0.3438 | 0.3438 | 0.0000 | 0.0000 | 0.0000 | 0.0625 |
| season | 0.60 | 5 | - | 47.000 | 20.000 | 0.000 | 0.000 | 4.000 | 12.000 | 4.000 | 4.000 | 3.000 | 0.4255 | 0.4706 | 0.6809 | 0.4255 | 0.0851 | 0.2553 | 0.0851 | 0.0638 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1300 |
| predicted_3B | 0.0100 |
| predicted_AB | 7.1990 |
| predicted_AVG | 0.3425 |
| predicted_BB | 0.5110 |
| predicted_H | 2.4650 |
| predicted_HBP | 0.0240 |
| predicted_HR | 0.3940 |
| predicted_OBP | 0.3884 |
| predicted_R | 0.6440 |
| predicted_RBI | 1.2630 |
| predicted_SLG | 0.5278 |
| predicted_SO | 0.8460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.1300 | 0.0444 | model_form_blend |
| predicted_3B | 0.0000 | 0.0100 | 0.0034 | model_form_blend |
| predicted_AB | 3.1330 | 7.1990 | 4.5222 | model_form_blend |
| predicted_AVG | 0.2840 | 0.3425 | 0.3040 | model_form_blend |
| predicted_BB | 0.2670 | 0.5110 | 0.3504 | model_form_blend |
| predicted_H | 0.8400 | 2.4650 | 1.3952 | model_form_blend |
| predicted_HBP | - | 0.0240 | 0.0240 | form_only |
| predicted_HR | 0.1300 | 0.3940 | 0.2202 | model_form_blend |
| predicted_OBP | 0.3480 | 0.3884 | 0.3618 | model_form_blend |
| predicted_R | 0.2670 | 0.6440 | 0.3958 | model_form_blend |
| predicted_RBI | 0.4600 | 1.2630 | 0.7344 | model_form_blend |
| predicted_SLG | 0.4650 | 0.5278 | 0.4865 | model_form_blend |
| predicted_SO | 0.2000 | 0.8460 | 0.4207 | 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 | 15 |
| Season rows before report date | 15 |
| Report year | 2026 |
| Profile rows used | 15 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.426 |
| 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.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 |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 685133 |
| playerID | 685133 |
| playerName | Wade Meckler |
| pos | OF |
| started | True |
| startingPosition | LF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 8.3 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.607 |
| sl_xwoba | 0.481 |
| sl_xba | 0.378 |
| sl_xslg | 0.708 |
| sl_sweet_spot_percent | 50.0 |
| sl_barrel_batted_rate | 10.0 |
| sl_hard_hit_percent | 40.0 |
| sl_exit_velocity_avg | 82.0 |
| sl_launch_angle_avg | -5.3 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 55.9 |
| at_bat_number | 10.0 |
| ab_pitcher | 663554.0 |
| ab_pitcher_name | Mize, Casey |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 2.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 624585.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 1.0 |
| ab_event | force_out |
| ab_event_description | Wade Meckler grounds into a force out, second baseman Hao-Yu Lee to shortstop Kevin McGonigle. Jorge Soler out at 2nd. Wade Meckler to 1st. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 72.3 |
| ab_launch_angle_last | -37.0 |
| ab_hit_distance_last | 4.0 |
| ab_estimated_ba_last | 0.111 |
| ab_estimated_woba_last | 0.107 |
| ab_estimated_slg_last | 0.117 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 89.97999999999999 |
| ab_release_spin_rate_avg | 2048.0 |
| ab_effective_speed_avg | 91.38 |
| ab_launch_speed_avg | 72.3 |
| ab_launch_angle_avg | -37.0 |
| ab_delta_run_exp_avg | -0.0702 |
| ab_delta_home_win_exp_avg | 0.0073999999999999 |
| ab_delta_pitcher_run_exp_avg | 0.0702 |
| ab_bat_speed_avg | 69.35 |
| ab_swing_length_avg | 6.5 |
| ab_launch_speed_max | 72.3 |
| ab_hit_distance_sc_max | 4.0 |
| ab_release_speed_max | 94.6 |
| ab_release_spin_rate_max | 2367.0 |
| ab_release_speed_min | 88.0 |
| ab_release_spin_rate_min | 1673.0 |
| ab_delta_run_exp_sum | -0.351 |
| ab_delta_home_win_exp_sum | 0.037 |
| ab_delta_pitcher_run_exp_sum | 0.351 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.232 | 0.000 | 0.000 | Hitting_2B | 0.216 | 0.000 | -0.216 | 0.000 |
| predicted_3B | 0.049 | 0.000 | 0.000 | Hitting_3B | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_AB | 2.829 | 3.000 | 5.000 | Hitting_AB | 2.636 | 2.000 | 0.364 | 1.000 |
| predicted_AVG | 0.274 | 0.000 | 0.200 | Hitting_AVG | 0.280 | 0.000 | -0.280 | 0.000 |
| predicted_BB | 0.341 | 1.000 | 1.000 | Hitting_BB | 0.318 | 1.000 | 0.682 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.540 | 0.000 | 1.000 | Hitting_H | 0.739 | 0.000 | -0.739 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.295 | 0.250 | 0.333 | Hitting_OBP | 0.363 | 0.333 | -0.113 | -0.083 |
| predicted_R | 0.610 | 0.000 | 1.000 | Hitting_R | 0.580 | 0.000 | -0.580 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.261 | 0.000 | -0.261 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.351 | 0.000 | 0.200 | Hitting_SLG | 0.435 | 0.000 | -0.435 | 0.000 |
| predicted_SO | 0.841 | 1.000 | 1.000 | Hitting_SO | 0.784 | 0.000 | 0.216 | 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.3410 -> 1.0000 (boost 0.6590, better) |
| Biggest Deboost | predicted_R: 0.6100 -> 0.0000 (deboost -0.6100, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 9 | 1 | 8 | 2 | predicted_AB: 2.8290 -> 4.6042 (boost 1.7752, better) | predicted_AVG: 0.2740 -> 0.2688 (deboost -0.0052, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3665 -> 0.3818 (boost 0.0153, better) | predicted_AVG: 0.2688 -> 0.2368 (deboost -0.0320, worse) | 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.5764 -> 1.0000 (boost 0.4236, better) | predicted_RBI: 0.3944 -> 0.0000 (deboost -0.3944, worse) | AB rounded to 5 (raw=4.60), rates preserved: AVG=0.237 HR/AB=0.016 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=29.0, weight=0.197, BvP AVG=0.276) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8483 -> 1.0000 (boost 0.1517, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3217 -> 0.3330 (boost 0.0113, better) | predicted_SLG: 0.3818 -> 0.2000 (deboost -0.1818, 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: 5.0000 -> 3.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.2000 -> 0.3818 (boost 0.1818, better) | predicted_OBP: 0.3330 -> 0.3217 (deboost -0.0113, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "624428",
"player_name": "Adam Frazier",
"position": "2B",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.049,
"predicted_AB": 2.829,
"predicted_AVG": 0.274,
"predicted_BB": 0.341,
"predicted_H": 0.54,
"predicted_HR": 0.06,
"predicted_OBP": 0.295,
"predicted_R": 0.61,
"predicted_RBI": 0.25,
"predicted_SLG": 0.351,
"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.3215,
"predicted_3B": 0.0658,
"predicted_AB": 4.6042,
"predicted_AVG": 0.2688,
"predicted_BB": 0.577,
"predicted_H": 1.0885,
"predicted_HBP": 0.05,
"predicted_HR": 0.0722,
"predicted_OBP": 0.318,
"predicted_R": 0.8448,
"predicted_RBI": 0.3928,
"predicted_SLG": 0.3665,
"predicted_SO": 1.2799
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.232,
"after": 0.3215,
"delta": 0.0895,
"percent_delta": 0.3858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.049,
"after": 0.0658,
"delta": 0.0168,
"percent_delta": 0.3429,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 2.829,
"after": 4.6042,
"delta": 1.7752,
"percent_delta": 0.6275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2688,
"delta": -0.0052,
"percent_delta": -0.019,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 0.577,
"delta": 0.236,
"percent_delta": 0.6921,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 1.0885,
"delta": 0.5485,
"percent_delta": 1.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0722,
"delta": 0.0122,
"percent_delta": 0.2033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.295,
"after": 0.318,
"delta": 0.023,
"percent_delta": 0.078,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.61,
"after": 0.8448,
"delta": 0.2348,
"percent_delta": 0.3849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.3928,
"delta": 0.1428,
"percent_delta": 0.5712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3665,
"delta": 0.0155,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 1.2799,
"delta": 0.4389,
"percent_delta": 0.5219,
"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": 2.829,
"after": 4.6042,
"delta": 1.7752,
"percent_delta": 0.6275,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2688,
"delta": -0.0052,
"percent_delta": -0.019,
"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": 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.3215,
"predicted_3B": 0.0658,
"predicted_AB": 4.6042,
"predicted_AVG": 0.2368,
"predicted_BB": 0.5764,
"predicted_H": 1.0901,
"predicted_HBP": 0.05,
"predicted_HR": 0.0716,
"predicted_OBP": 0.3217,
"predicted_R": 0.8483,
"predicted_RBI": 0.3944,
"predicted_SLG": 0.3818,
"predicted_SO": 1.2812
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3215,
"after": 0.3215,
"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": 4.6042,
"after": 4.6042,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2688,
"after": 0.2368,
"delta": -0.032,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.577,
"after": 0.5764,
"delta": -0.0006,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0885,
"after": 1.0901,
"delta": 0.0016,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.05,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0722,
"after": 0.0716,
"delta": -0.0006,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3217,
"delta": 0.0037,
"percent_delta": 0.0116,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8448,
"after": 0.8483,
"delta": 0.0035,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3928,
"after": 0.3944,
"delta": 0.0016,
"percent_delta": 0.0041,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3665,
"after": 0.3818,
"delta": 0.0153,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2799,
"after": 1.2812,
"delta": 0.0013,
"percent_delta": 0.001,
"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.3665,
"after": 0.3818,
"delta": 0.0153,
"percent_delta": 0.0417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2688,
"after": 0.2368,
"delta": -0.032,
"percent_delta": -0.119,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.60), rates preserved: AVG=0.237 HR/AB=0.016",
"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.3215,
"after": 0.0,
"delta": -0.3215,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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": 4.6042,
"after": 5.0,
"delta": 0.3958,
"percent_delta": 0.086,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5764,
"after": 1.0,
"delta": 0.4236,
"percent_delta": 0.7349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0901,
"after": 1.0,
"delta": -0.0901,
"percent_delta": -0.0827,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.05,
"after": 0.0,
"delta": -0.05,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0716,
"after": 0.0,
"delta": -0.0716,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3944,
"after": 0.0,
"delta": -0.3944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2812,
"after": 1.0,
"delta": -0.2812,
"percent_delta": -0.2195,
"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.5764,
"after": 1.0,
"delta": 0.4236,
"percent_delta": 0.7349,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.3944,
"after": 0.0,
"delta": -0.3944,
"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=29.0, weight=0.197, BvP AVG=0.276)",
"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": 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_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.8034,
"bvp": 0.1966
},
"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": 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.8483,
"after": 1.0,
"delta": 0.1517,
"percent_delta": 0.1788,
"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.8483,
"after": 1.0,
"delta": 0.1517,
"percent_delta": 0.1788,
"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": 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.2368,
"after": 0.2,
"delta": -0.0368,
"percent_delta": -0.1554,
"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.3217,
"after": 0.333,
"delta": 0.0113,
"percent_delta": 0.0351,
"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.3818,
"after": 0.2,
"delta": -0.1818,
"percent_delta": -0.4762,
"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.3217,
"after": 0.333,
"delta": 0.0113,
"percent_delta": 0.0351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3818,
"after": 0.2,
"delta": -0.1818,
"percent_delta": -0.4762,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 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.2368,
"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.3818,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2368,
"delta": 0.0368,
"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": 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.3217,
"delta": -0.0113,
"percent_delta": -0.034,
"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.3818,
"delta": 0.1818,
"percent_delta": 0.909,
"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.3818,
"delta": 0.1818,
"percent_delta": 0.909,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3217,
"delta": -0.0113,
"percent_delta": -0.034,
"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.232,
"after": 0.0,
"delta": -0.232,
"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": 2.829,
"after": 3.0,
"delta": 0.171,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2368,
"delta": -0.0372,
"percent_delta": -0.1358,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.341,
"after": 1.0,
"delta": 0.659,
"percent_delta": 1.9326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.54,
"after": 0.0,
"delta": -0.54,
"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.295,
"after": 0.3217,
"delta": 0.0267,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.351,
"after": 0.3818,
"delta": 0.0308,
"percent_delta": 0.0877,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.841,
"after": 1.0,
"delta": 0.159,
"percent_delta": 0.1891,
"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.341,
"after": 1.0,
"delta": 0.659,
"percent_delta": 1.9326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"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.049 | - |
| predicted_AB | 2.829 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.341 | - |
| predicted_H | 0.540 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.295 | - |
| predicted_R | 0.610 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.351 | - |
| 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.322 | 0.089 |
| predicted_3B | 0.066 | 0.017 |
| predicted_AB | 4.604 | 1.775 |
| predicted_AVG | 0.269 | -0.005 |
| predicted_BB | 0.577 | 0.236 |
| predicted_H | 1.089 | 0.548 |
| predicted_HBP | 0.050 | - |
| predicted_HR | 0.072 | 0.012 |
| predicted_OBP | 0.318 | 0.023 |
| predicted_R | 0.845 | 0.235 |
| predicted_RBI | 0.393 | 0.143 |
| predicted_SLG | 0.366 | 0.016 |
| predicted_SO | 1.280 | 0.439 |
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.066 | 0.000 |
| predicted_AB | 4.604 | 0.000 |
| predicted_AVG | 0.237 | -0.032 |
| predicted_BB | 0.576 | -0.001 |
| predicted_H | 1.090 | 0.002 |
| predicted_HBP | 0.050 | 0.000 |
| predicted_HR | 0.072 | -0.001 |
| predicted_OBP | 0.322 | 0.004 |
| predicted_R | 0.848 | 0.004 |
| predicted_RBI | 0.394 | 0.002 |
| predicted_SLG | 0.382 | 0.015 |
| predicted_SO | 1.281 | 0.001 |
AB rounded to 5 (raw=4.60), rates preserved: AVG=0.237 HR/AB=0.016
| 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 | - |
Sample-size BvP blend (BvP AB=29.0, weight=0.197, BvP AVG=0.276)
| 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 | 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 | 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.322 |
| predicted_3B | 0.000 | -0.066 |
| predicted_AB | 5.000 | 0.396 |
| predicted_AVG | 0.200 | -0.037 |
| predicted_BB | 1.000 | 0.424 |
| predicted_H | 1.000 | -0.090 |
| predicted_HR | 0.000 | -0.072 |
| predicted_OBP | 0.333 | 0.011 |
| predicted_R | 1.000 | 0.152 |
| predicted_RBI | 0.000 | -0.394 |
| predicted_SLG | 0.200 | -0.182 |
| predicted_SO | 1.000 | -0.281 |
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 | 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 | 2 | - | 12.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 2.000 | 0.1667 | 0.3333 | 0.1667 | 0.1667 | 0.0000 | 0.0000 | 0.2500 | 0.1667 |
| last_10 | 0.20 | 4 | - | 26.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 5.000 | 0.2308 | 0.3103 | 0.2308 | 0.2308 | 0.0000 | 0.0000 | 0.1154 | 0.1923 |
| season | 0.60 | 30 | - | 232.000 | 65.000 | 19.000 | 4.000 | 3.000 | 23.000 | 50.000 | 28.000 | 69.000 | 0.2802 | 0.3626 | 0.4353 | 0.2802 | 0.0129 | 0.0991 | 0.1207 | 0.2974 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4450 |
| predicted_3B | 0.0890 |
| predicted_AB | 7.0560 |
| predicted_AVG | 0.2617 |
| predicted_BB | 0.9030 |
| predicted_H | 1.8460 |
| predicted_HBP | 0.0500 |
| predicted_HR | 0.0890 |
| predicted_OBP | 0.3498 |
| predicted_R | 1.1690 |
| predicted_RBI | 0.5900 |
| predicted_SLG | 0.3878 |
| predicted_SO | 1.8860 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2320 | 0.4450 | 0.3215 | model_form_blend |
| predicted_3B | 0.0490 | 0.0890 | 0.0658 | model_form_blend |
| predicted_AB | 2.8290 | 7.0560 | 4.6042 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2617 | 0.2688 | model_form_blend |
| predicted_BB | 0.3410 | 0.9030 | 0.5770 | model_form_blend |
| predicted_H | 0.5400 | 1.8460 | 1.0885 | model_form_blend |
| predicted_HBP | - | 0.0500 | 0.0500 | form_only |
| predicted_HR | 0.0600 | 0.0890 | 0.0722 | model_form_blend |
| predicted_OBP | 0.2950 | 0.3498 | 0.3180 | model_form_blend |
| predicted_R | 0.6100 | 1.1690 | 0.8448 | model_form_blend |
| predicted_RBI | 0.2500 | 0.5900 | 0.3928 | model_form_blend |
| predicted_SLG | 0.3510 | 0.3878 | 0.3665 | model_form_blend |
| predicted_SO | 0.8410 | 1.8860 | 1.2799 | 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 | 82 |
| 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.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 | 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 | 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 | 20260524_TEX@LAA |
| game_type | full |
| mlbID | 624428 |
| playerID | 624428 |
| playerName | Adam Frazier |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-24 |
| game_pk | 824028.0 |
| sl_k_percent | 28.0 |
| sl_bb_percent | 8.5 |
| sl_woba | 0.309 |
| sl_xwoba | 0.251 |
| sl_xba | 0.195 |
| sl_xslg | 0.269 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 2.0 |
| sl_hard_hit_percent | 17.6 |
| sl_exit_velocity_avg | 83.8 |
| sl_launch_angle_avg | 13.9 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 54.7 |
| at_bat_number | 52.0 |
| ab_pitcher | 596001.0 |
| ab_pitcher_name | Junis, Jakob |
| ab_home_team | LAA |
| ab_away_team | TEX |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Adam Frazier grounds out, first baseman Jake Burger to pitcher Jakob Junis. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 77.9 |
| ab_launch_angle_last | -3.0 |
| ab_hit_distance_last | 21.0 |
| ab_estimated_ba_last | 0.101 |
| ab_estimated_woba_last | 0.091 |
| ab_estimated_slg_last | 0.112 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 83.05 |
| ab_release_spin_rate_avg | 1897.5 |
| ab_effective_speed_avg | 82.5 |
| ab_launch_speed_avg | 77.9 |
| ab_launch_angle_avg | -3.0 |
| ab_delta_run_exp_avg | -0.1295 |
| ab_delta_home_win_exp_avg | -0.023 |
| ab_delta_pitcher_run_exp_avg | 0.1295 |
| ab_bat_speed_avg | 69.9 |
| ab_swing_length_avg | 7.8 |
| ab_launch_speed_max | 77.9 |
| ab_hit_distance_sc_max | 21.0 |
| ab_release_speed_max | 86.3 |
| ab_release_spin_rate_max | 2391.0 |
| ab_release_speed_min | 79.8 |
| ab_release_spin_rate_min | 1404.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.046 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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.730 | 4.000 | 4.000 | Hitting_AB | 2.405 | 2.000 | 1.595 | 2.000 |
| predicted_AVG | 0.245 | 0.000 | 0.000 | Hitting_AVG | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_BB | 0.162 | 0.000 | 0.000 | Hitting_BB | 0.143 | 1.000 | -0.143 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.160 | 0.000 | 0.000 | Hitting_H | 0.286 | 0.000 | -0.286 | 0.000 |
| predicted_HR | 0.030 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.245 | 0.000 | 0.000 | Hitting_OBP | 0.168 | 0.333 | -0.168 | -0.333 |
| predicted_R | 0.081 | 0.000 | 0.000 | Hitting_R | 0.071 | 1.000 | -0.071 | -1.000 |
| predicted_RBI | 0.090 | 0.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.277 | 0.000 | 0.000 | Hitting_SLG | 0.119 | 0.000 | -0.119 | 0.000 |
| predicted_SO | 0.486 | 1.000 | 1.000 | Hitting_SO | 0.429 | 0.000 | 0.571 | 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_AB: 2.7300 -> 4.0000 (boost 1.2700, better) |
| Biggest Deboost | predicted_BB: 0.1620 -> 0.0000 (deboost -0.1620, 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 | 5 | 3 | 4 | 4 | predicted_AB: 2.7300 -> 4.1564 (boost 1.4264, better) | predicted_AVG: 0.2450 -> 0.1998 (deboost -0.0452, 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.1998 -> 0.1001 (deboost -0.0997, 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 | 0 | 5 | predicted_SO: 0.7886 -> 1.0000 (boost 0.2114, worse) | predicted_H: 0.4161 -> 0.0000 (deboost -0.4161, worse) | AB rounded to 4 (raw=4.16), rates preserved: AVG=0.100 HR/AB=0.009 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.2314 -> 0.0000 (deboost -0.2314, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.1604 -> 0.0000 (deboost -0.1604, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 0 | 0 | 0 | 0 | 0 | - | - | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.0000 -> 0.1604 (boost 0.1604, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665861",
"player_name": "Sebastián Rivero",
"position": "C",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.73,
"predicted_AVG": 0.245,
"predicted_BB": 0.162,
"predicted_H": 0.16,
"predicted_HR": 0.03,
"predicted_OBP": 0.245,
"predicted_R": 0.081,
"predicted_RBI": 0.09,
"predicted_SLG": 0.277,
"predicted_SO": 0.486
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0266,
"predicted_3B": 0.0019,
"predicted_AB": 4.1564,
"predicted_AVG": 0.1998,
"predicted_BB": 0.2986,
"predicted_H": 0.4155,
"predicted_HBP": 0.013,
"predicted_HR": 0.0366,
"predicted_OBP": 0.2257,
"predicted_R": 0.2304,
"predicted_RBI": 0.1263,
"predicted_SLG": 0.2328,
"predicted_SO": 0.7878
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0266,
"delta": 0.0266,
"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": 2.73,
"after": 4.1564,
"delta": 1.4264,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.1998,
"delta": -0.0452,
"percent_delta": -0.1845,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.2986,
"delta": 0.1366,
"percent_delta": 0.8432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.16,
"after": 0.4155,
"delta": 0.2555,
"percent_delta": 1.5969,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0366,
"delta": 0.0066,
"percent_delta": 0.22,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.245,
"after": 0.2257,
"delta": -0.0193,
"percent_delta": -0.0788,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.081,
"after": 0.2304,
"delta": 0.1494,
"percent_delta": 1.8444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.09,
"after": 0.1263,
"delta": 0.0363,
"percent_delta": 0.4033,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.277,
"after": 0.2328,
"delta": -0.0442,
"percent_delta": -0.1596,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.486,
"after": 0.7878,
"delta": 0.3018,
"percent_delta": 0.621,
"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_AB",
"before": 2.73,
"after": 4.1564,
"delta": 1.4264,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.1998,
"delta": -0.0452,
"percent_delta": -0.1845,
"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": 14
}
},
{
"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.0266,
"predicted_3B": 0.0019,
"predicted_AB": 4.1564,
"predicted_AVG": 0.1001,
"predicted_BB": 0.2983,
"predicted_H": 0.4161,
"predicted_HBP": 0.013,
"predicted_HR": 0.0363,
"predicted_OBP": 0.1604,
"predicted_R": 0.2314,
"predicted_RBI": 0.1268,
"predicted_SLG": 0.1336,
"predicted_SO": 0.7886
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0266,
"after": 0.0266,
"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.1564,
"after": 4.1564,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1998,
"after": 0.1001,
"delta": -0.0997,
"percent_delta": -0.499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2986,
"after": 0.2983,
"delta": -0.0003,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.4155,
"after": 0.4161,
"delta": 0.0006,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0366,
"after": 0.0363,
"delta": -0.0003,
"percent_delta": -0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2257,
"after": 0.1604,
"delta": -0.0653,
"percent_delta": -0.2893,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.2304,
"after": 0.2314,
"delta": 0.001,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1263,
"after": 0.1268,
"delta": 0.0005,
"percent_delta": 0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2328,
"after": 0.1336,
"delta": -0.0992,
"percent_delta": -0.4261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7878,
"after": 0.7886,
"delta": 0.0008,
"percent_delta": 0.001,
"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.1998,
"after": 0.1001,
"delta": -0.0997,
"percent_delta": -0.499,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 4 (raw=4.16), rates preserved: AVG=0.100 HR/AB=0.009",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0266,
"after": 0.0,
"delta": -0.0266,
"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.1564,
"after": 4.0,
"delta": -0.1564,
"percent_delta": -0.0376,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2983,
"after": 0.0,
"delta": -0.2983,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.4161,
"after": 0.0,
"delta": -0.4161,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.013,
"after": 0.0,
"delta": -0.013,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0363,
"after": 0.0,
"delta": -0.0363,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.1268,
"after": 0.0,
"delta": -0.1268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.7886,
"after": 1.0,
"delta": 0.2114,
"percent_delta": 0.2681,
"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": 0.7886,
"after": 1.0,
"delta": 0.2114,
"percent_delta": 0.2681,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.4161,
"after": 0.0,
"delta": -0.4161,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2314,
"after": 0.0,
"delta": -0.2314,
"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.2314,
"after": 0.0,
"delta": -0.2314,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.1001,
"after": 0.0,
"delta": -0.1001,
"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.1604,
"after": 0.0,
"delta": -0.1604,
"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.1336,
"after": 0.0,
"delta": -0.1336,
"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_OBP",
"before": 0.1604,
"after": 0.0,
"delta": -0.1604,
"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": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "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.1001,
"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.1604,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1336,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.0,
"after": 0.1001,
"delta": 0.1001,
"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.1604,
"delta": 0.1604,
"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.1336,
"delta": 0.1336,
"percent_delta": null,
"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.0,
"after": 0.1604,
"delta": 0.1604,
"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.73,
"after": 4.0,
"delta": 1.27,
"percent_delta": 0.4652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.1001,
"delta": -0.1449,
"percent_delta": -0.5914,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.16,
"after": 0.0,
"delta": -0.16,
"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.245,
"after": 0.1604,
"delta": -0.0846,
"percent_delta": -0.3453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"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.277,
"after": 0.1336,
"delta": -0.1434,
"percent_delta": -0.5177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.486,
"after": 1.0,
"delta": 0.514,
"percent_delta": 1.0576,
"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_AB",
"before": 2.73,
"after": 4.0,
"delta": 1.27,
"percent_delta": 0.4652,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.162,
"after": 0.0,
"delta": -0.162,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.730 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.162 | - |
| predicted_H | 0.160 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.245 | - |
| predicted_R | 0.081 | - |
| predicted_RBI | 0.090 | - |
| predicted_SLG | 0.277 | - |
| predicted_SO | 0.486 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.027 | 0.027 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 4.156 | 1.426 |
| predicted_AVG | 0.200 | -0.045 |
| predicted_BB | 0.299 | 0.137 |
| predicted_H | 0.415 | 0.255 |
| predicted_HBP | 0.013 | - |
| predicted_HR | 0.037 | 0.007 |
| predicted_OBP | 0.226 | -0.019 |
| predicted_R | 0.230 | 0.149 |
| predicted_RBI | 0.126 | 0.036 |
| predicted_SLG | 0.233 | -0.044 |
| predicted_SO | 0.788 | 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.027 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 4.156 | 0.000 |
| predicted_AVG | 0.100 | -0.100 |
| predicted_BB | 0.298 | -0.000 |
| predicted_H | 0.416 | 0.001 |
| predicted_HBP | 0.013 | 0.000 |
| predicted_HR | 0.036 | -0.000 |
| predicted_OBP | 0.160 | -0.065 |
| predicted_R | 0.231 | 0.001 |
| predicted_RBI | 0.127 | 0.001 |
| predicted_SLG | 0.134 | -0.099 |
| predicted_SO | 0.789 | 0.001 |
AB rounded to 4 (raw=4.16), rates preserved: AVG=0.100 HR/AB=0.009
| 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 | 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 | 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.027 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 4.000 | -0.156 |
| predicted_AVG | 0.000 | -0.100 |
| predicted_BB | 0.000 | -0.298 |
| predicted_H | 0.000 | -0.416 |
| predicted_HR | 0.000 | -0.036 |
| predicted_OBP | 0.000 | -0.160 |
| predicted_R | 0.000 | -0.231 |
| predicted_RBI | 0.000 | -0.127 |
| predicted_SLG | 0.000 | -0.134 |
| predicted_SO | 1.000 | 0.211 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 4.000 | 0.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | 0.000 |
| RBI | 0.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 0.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 14.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 2.000 | 0.0000 | 0.1765 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2143 | 0.1429 |
| last_10 | 0.20 | 4 | - | 27.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 9.000 | 0.0000 | 0.1000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1111 | 0.3333 |
| season | 0.60 | 14 | - | 101.000 | 12.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 6.000 | 18.000 | 0.1188 | 0.1682 | 0.1188 | 0.1188 | 0.0000 | 0.0000 | 0.0594 | 0.1782 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0690 |
| predicted_3B | 0.0050 |
| predicted_AB | 6.4260 |
| predicted_AVG | 0.1280 |
| predicted_BB | 0.5160 |
| predicted_H | 0.8220 |
| predicted_HBP | 0.0130 |
| predicted_HR | 0.0470 |
| predicted_OBP | 0.1951 |
| predicted_R | 0.4680 |
| predicted_RBI | 0.1840 |
| predicted_SLG | 0.1625 |
| predicted_SO | 1.2680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0690 | 0.0266 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0019 | model_form_blend |
| predicted_AB | 2.7300 | 6.4260 | 4.1564 | model_form_blend |
| predicted_AVG | 0.2450 | 0.1280 | 0.1998 | model_form_blend |
| predicted_BB | 0.1620 | 0.5160 | 0.2986 | model_form_blend |
| predicted_H | 0.1600 | 0.8220 | 0.4155 | model_form_blend |
| predicted_HBP | - | 0.0130 | 0.0130 | form_only |
| predicted_HR | 0.0300 | 0.0470 | 0.0366 | model_form_blend |
| predicted_OBP | 0.2450 | 0.1951 | 0.2257 | model_form_blend |
| predicted_R | 0.0810 | 0.4680 | 0.2304 | model_form_blend |
| predicted_RBI | 0.0900 | 0.1840 | 0.1263 | model_form_blend |
| predicted_SLG | 0.2770 | 0.1625 | 0.2328 | model_form_blend |
| predicted_SO | 0.4860 | 1.2680 | 0.7878 | 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 | 42 |
| Season rows before report date | 42 |
| Report year | 2026 |
| Profile rows used | 37 |
| 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.119 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| 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 | C |
| gameID | 20260524_TEX@LAA |
| game_type | full |
| mlbID | 665861 |
| playerID | 665861 |
| playerName | Sebastián Rivero |
| pos | C |
| started | True |
| startingPosition | C |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-24 |
| game_pk | 824028.0 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 5.4 |
| sl_woba | 0.139 |
| sl_xwoba | 0.218 |
| sl_xba | 0.202 |
| sl_xslg | 0.231 |
| sl_sweet_spot_percent | 11.1 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 11.1 |
| sl_exit_velocity_avg | 83.4 |
| sl_launch_angle_avg | 19.4 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 61.6 |
| at_bat_number | 48.0 |
| ab_pitcher | 596001.0 |
| ab_pitcher_name | Junis, Jakob |
| ab_home_team | LAA |
| ab_away_team | TEX |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 685133.0 |
| ab_on_3b_start | 672724.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Sebastián Rivero grounds out, third baseman Ezequiel Duran to first baseman Jake Burger. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 80.6 |
| ab_launch_angle_last | 3.0 |
| ab_hit_distance_last | 60.0 |
| ab_estimated_ba_last | 0.206 |
| ab_estimated_woba_last | 0.212 |
| ab_estimated_slg_last | 0.241 |
| 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 | 1.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 85.275 |
| ab_release_spin_rate_avg | 2327.0 |
| ab_effective_speed_avg | 84.4 |
| ab_launch_speed_avg | 75.85 |
| ab_launch_angle_avg | 36.0 |
| ab_delta_run_exp_avg | -0.0695 |
| ab_delta_home_win_exp_avg | -0.022 |
| ab_delta_pitcher_run_exp_avg | 0.0695 |
| ab_bat_speed_avg | 72.35 |
| ab_swing_length_avg | 7.449999999999999 |
| ab_launch_speed_max | 80.6 |
| ab_hit_distance_sc_max | 161.0 |
| ab_release_speed_max | 92.9 |
| ab_release_spin_rate_max | 2444.0 |
| ab_release_speed_min | 81.8 |
| ab_release_spin_rate_min | 2110.0 |
| ab_delta_run_exp_sum | -0.278 |
| ab_delta_home_win_exp_sum | -0.088 |
| ab_delta_pitcher_run_exp_sum | 0.278 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.113 | 0.000 | 0.000 | Hitting_2B | 0.113 | 0.000 | -0.113 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.930 | 4.000 | 9.000 | Hitting_AB | 3.930 | 3.000 | 0.070 | 1.000 |
| predicted_AVG | 0.222 | 0.250 | 0.222 | Hitting_AVG | 0.244 | 0.000 | 0.006 | 0.250 |
| predicted_BB | 0.135 | 1.000 | 0.000 | Hitting_BB | 0.135 | 0.000 | 0.865 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.870 | 1.000 | 2.000 | Hitting_H | 0.961 | 0.000 | 0.039 | 1.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.139 | 0.000 | -0.139 | 0.000 |
| predicted_OBP | 0.270 | 0.400 | 0.222 | Hitting_OBP | 0.293 | 0.000 | 0.107 | 0.400 |
| predicted_R | 0.374 | 0.000 | 1.000 | Hitting_R | 0.374 | 0.000 | -0.374 | 0.000 |
| predicted_RBI | 0.430 | 0.000 | 1.000 | Hitting_RBI | 0.557 | 0.000 | -0.557 | 0.000 |
| predicted_SLG | 0.381 | 0.250 | 0.222 | Hitting_SLG | 0.379 | 0.000 | -0.129 | 0.250 |
| predicted_SO | 0.996 | 1.000 | 3.000 | Hitting_SO | 0.996 | 1.000 | 0.004 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 5 |
| Better Metrics | 3 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_BB: 0.1350 -> 1.0000 (boost 0.8650, better) |
| Biggest Deboost | predicted_RBI: 0.4300 -> 0.0000 (deboost -0.4300, 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.9300 -> 8.7761 (boost 4.8461, 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.2685 -> 0.2465 (deboost -0.0220, 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: 2.4632 -> 3.0000 (boost 0.5368, worse) | predicted_HBP: 0.5110 -> 0.0000 (deboost -0.5110, worse) | AB rounded to 9 (raw=8.78), rates preserved: AVG=0.223 HR/AB=0.045 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8626 -> 1.0000 (boost 0.1374, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.3837 -> 0.2220 (deboost -0.1617, 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: 9.0000 -> 4.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.2220 -> 0.3837 (boost 0.1617, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "666176",
"player_name": "Jo Adell",
"position": "RF",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.113,
"predicted_3B": 0.0,
"predicted_AB": 3.93,
"predicted_AVG": 0.222,
"predicted_BB": 0.135,
"predicted_H": 0.87,
"predicted_HR": 0.15,
"predicted_OBP": 0.27,
"predicted_R": 0.374,
"predicted_RBI": 0.43,
"predicted_SLG": 0.381,
"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.2255,
"predicted_3B": 0.0009,
"predicted_AB": 8.7761,
"predicted_AVG": 0.2225,
"predicted_BB": 0.2731,
"predicted_H": 1.9547,
"predicted_HBP": 0.511,
"predicted_HR": 0.3976,
"predicted_OBP": 0.2685,
"predicted_R": 0.859,
"predicted_RBI": 1.1383,
"predicted_SLG": 0.3855,
"predicted_SO": 2.4607
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.113,
"after": 0.2255,
"delta": 0.1125,
"percent_delta": 0.9956,
"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.93,
"after": 8.7761,
"delta": 4.8461,
"percent_delta": 1.2331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2225,
"delta": 0.0005,
"percent_delta": 0.0023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.135,
"after": 0.2731,
"delta": 0.1381,
"percent_delta": 1.023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 1.9547,
"delta": 1.0847,
"percent_delta": 1.2468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.3976,
"delta": 0.2476,
"percent_delta": 1.6507,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2685,
"delta": -0.0015,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.374,
"after": 0.859,
"delta": 0.485,
"percent_delta": 1.2968,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.43,
"after": 1.1383,
"delta": 0.7083,
"percent_delta": 1.6472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.381,
"after": 0.3855,
"delta": 0.0045,
"percent_delta": 0.0118,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.996,
"after": 2.4607,
"delta": 1.4647,
"percent_delta": 1.4706,
"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.93,
"after": 8.7761,
"delta": 4.8461,
"percent_delta": 1.2331,
"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": 3,
"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.2255,
"predicted_3B": 0.0009,
"predicted_AB": 8.7761,
"predicted_AVG": 0.2231,
"predicted_BB": 0.2728,
"predicted_H": 1.9576,
"predicted_HBP": 0.511,
"predicted_HR": 0.394,
"predicted_OBP": 0.2465,
"predicted_R": 0.8626,
"predicted_RBI": 1.1431,
"predicted_SLG": 0.3837,
"predicted_SO": 2.4632
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2255,
"after": 0.2255,
"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.7761,
"after": 8.7761,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2225,
"after": 0.2231,
"delta": 0.0006,
"percent_delta": 0.0027,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.2731,
"after": 0.2728,
"delta": -0.0003,
"percent_delta": -0.0011,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9547,
"after": 1.9576,
"delta": 0.0029,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.511,
"after": 0.511,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3976,
"after": 0.394,
"delta": -0.0036,
"percent_delta": -0.0091,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2685,
"after": 0.2465,
"delta": -0.022,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.859,
"after": 0.8626,
"delta": 0.0036,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.1383,
"after": 1.1431,
"delta": 0.0048,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3855,
"after": 0.3837,
"delta": -0.0018,
"percent_delta": -0.0047,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.4607,
"after": 2.4632,
"delta": 0.0025,
"percent_delta": 0.001,
"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.2685,
"after": 0.2465,
"delta": -0.022,
"percent_delta": -0.0819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=8.78), rates preserved: AVG=0.223 HR/AB=0.045",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2255,
"after": 0.0,
"delta": -0.2255,
"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.7761,
"after": 9.0,
"delta": 0.2239,
"percent_delta": 0.0255,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2728,
"after": 0.0,
"delta": -0.2728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9576,
"after": 2.0,
"delta": 0.0424,
"percent_delta": 0.0217,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.511,
"after": 0.0,
"delta": -0.511,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.394,
"after": 0.0,
"delta": -0.394,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1431,
"after": 1.0,
"delta": -0.1431,
"percent_delta": -0.1252,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.4632,
"after": 3.0,
"delta": 0.5368,
"percent_delta": 0.2179,
"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": 2.4632,
"after": 3.0,
"delta": 0.5368,
"percent_delta": 0.2179,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.511,
"after": 0.0,
"delta": -0.511,
"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": 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": 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": 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.8626,
"after": 1.0,
"delta": 0.1374,
"percent_delta": 0.1593,
"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.8626,
"after": 1.0,
"delta": 0.1374,
"percent_delta": 0.1593,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.222,
"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.2231,
"after": 0.222,
"delta": -0.0011,
"percent_delta": -0.0049,
"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.2465,
"after": 0.222,
"delta": -0.0245,
"percent_delta": -0.0994,
"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.3837,
"after": 0.222,
"delta": -0.1617,
"percent_delta": -0.4214,
"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": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3837,
"after": 0.222,
"delta": -0.1617,
"percent_delta": -0.4214,
"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": 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": 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": 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": 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": 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.2231,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2465,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3837,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2231,
"delta": 0.0011,
"percent_delta": 0.0048,
"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.222,
"after": 0.2465,
"delta": 0.0245,
"percent_delta": 0.1103,
"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.3837,
"delta": 0.1617,
"percent_delta": 0.7282,
"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.3837,
"delta": 0.1617,
"percent_delta": 0.7282,
"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.113,
"after": 0.0,
"delta": -0.113,
"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.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2231,
"delta": 0.0011,
"percent_delta": 0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.135,
"after": 1.0,
"delta": 0.865,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.27,
"after": 0.2465,
"delta": -0.0235,
"percent_delta": -0.087,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.374,
"after": 0.0,
"delta": -0.374,
"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.381,
"after": 0.3837,
"delta": 0.0027,
"percent_delta": 0.0071,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 8,
"boosted_metrics": 3,
"deboosted_metrics": 5,
"better_metrics": 3,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.135,
"after": 1.0,
"delta": 0.865,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.43,
"after": 0.0,
"delta": -0.43,
"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.113 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.222 | - |
| predicted_BB | 0.135 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.270 | - |
| predicted_R | 0.374 | - |
| predicted_RBI | 0.430 | - |
| predicted_SLG | 0.381 | - |
| 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.226 | 0.113 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.776 | 4.846 |
| predicted_AVG | 0.223 | 0.001 |
| predicted_BB | 0.273 | 0.138 |
| predicted_H | 1.955 | 1.085 |
| predicted_HBP | 0.511 | - |
| predicted_HR | 0.398 | 0.248 |
| predicted_OBP | 0.269 | -0.002 |
| predicted_R | 0.859 | 0.485 |
| predicted_RBI | 1.138 | 0.708 |
| predicted_SLG | 0.386 | 0.005 |
| predicted_SO | 2.461 | 1.465 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.226 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.776 | 0.000 |
| predicted_AVG | 0.223 | 0.001 |
| predicted_BB | 0.273 | -0.000 |
| predicted_H | 1.958 | 0.003 |
| predicted_HBP | 0.511 | 0.000 |
| predicted_HR | 0.394 | -0.004 |
| predicted_OBP | 0.246 | -0.022 |
| predicted_R | 0.863 | 0.004 |
| predicted_RBI | 1.143 | 0.005 |
| predicted_SLG | 0.384 | -0.002 |
| predicted_SO | 2.463 | 0.002 |
AB rounded to 9 (raw=8.78), rates preserved: AVG=0.223 HR/AB=0.045
| 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 | 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 | 9.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 | 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.226 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | 0.224 |
| predicted_AVG | 0.222 | -0.001 |
| predicted_BB | 0.000 | -0.273 |
| predicted_H | 2.000 | 0.042 |
| predicted_HR | 0.000 | -0.394 |
| predicted_OBP | 0.222 | -0.024 |
| predicted_R | 1.000 | 0.137 |
| predicted_RBI | 1.000 | -0.143 |
| predicted_SLG | 0.222 | -0.162 |
| predicted_SO | 3.000 | 0.537 |
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 | 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 | 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 | 2 | - | 19.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 9.000 | 0.1053 | 0.1053 | 0.4211 | 0.1053 | 0.1053 | 0.1053 | 0.0000 | 0.4737 |
| last_10 | 0.20 | 3 | - | 40.000 | 5.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 0.000 | 20.000 | 0.1250 | 0.1667 | 0.5000 | 0.1250 | 0.1250 | 0.1250 | 0.0000 | 0.5000 |
| season | 0.60 | 56 | - | 904.000 | 221.000 | 26.000 | 0.000 | 32.000 | 128.000 | 86.000 | 31.000 | 229.000 | 0.2445 | 0.2932 | 0.3794 | 0.2445 | 0.0354 | 0.1416 | 0.0343 | 0.2533 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3680 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.9110 |
| predicted_AVG | 0.2232 |
| predicted_BB | 0.4480 |
| predicted_H | 3.3280 |
| predicted_HBP | 0.5110 |
| predicted_HR | 0.7110 |
| predicted_OBP | 0.2667 |
| predicted_R | 1.4730 |
| predicted_RBI | 2.0350 |
| predicted_SLG | 0.3912 |
| predicted_SO | 4.3150 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1130 | 0.3680 | 0.2255 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9300 | 14.9110 | 8.7761 | model_form_blend |
| predicted_AVG | 0.2220 | 0.2232 | 0.2225 | model_form_blend |
| predicted_BB | 0.1350 | 0.4480 | 0.2731 | model_form_blend |
| predicted_H | 0.8700 | 3.3280 | 1.9547 | model_form_blend |
| predicted_HBP | - | 0.5110 | 0.5110 | form_only |
| predicted_HR | 0.1500 | 0.7110 | 0.3976 | model_form_blend |
| predicted_OBP | 0.2700 | 0.2667 | 0.2685 | model_form_blend |
| predicted_R | 0.3740 | 1.4730 | 0.8590 | model_form_blend |
| predicted_RBI | 0.4300 | 2.0350 | 1.1383 | model_form_blend |
| predicted_SLG | 0.3810 | 0.3912 | 0.3855 | model_form_blend |
| predicted_SO | 0.9960 | 4.3150 | 2.4607 | 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 | 230 |
| Season rows before report date | 230 |
| 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| 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 | 1 |
| 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 | RF |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 666176 |
| playerID | 666176 |
| playerName | Jo Adell |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 24.0 |
| sl_bb_percent | 3.1 |
| sl_woba | 0.304 |
| sl_xwoba | 0.336 |
| sl_xba | 0.269 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 8.9 |
| sl_hard_hit_percent | 47.2 |
| sl_exit_velocity_avg | 91.7 |
| sl_launch_angle_avg | 19.3 |
| sl_whiff_percent | 26.7 |
| sl_swing_percent | 55.9 |
| at_bat_number | 56.0 |
| ab_pitcher | 640448.0 |
| ab_pitcher_name | Finnegan, Kyle |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.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 | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Jo Adell pops out to shortstop Zach McKinstry. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | FS |
| ab_pitch_name_last | Split-Finger |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 75.3 |
| ab_launch_angle_last | 52.0 |
| ab_hit_distance_last | 199.0 |
| ab_estimated_ba_last | 0.103 |
| ab_estimated_woba_last | 0.113 |
| ab_estimated_slg_last | 0.149 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 90.62 |
| ab_release_spin_rate_avg | 1662.4 |
| ab_effective_speed_avg | 91.4 |
| ab_launch_speed_avg | 71.56666666666666 |
| ab_launch_angle_avg | 11.333333333333334 |
| ab_delta_run_exp_avg | -0.0512 |
| ab_delta_home_win_exp_avg | 0.0026 |
| ab_delta_pitcher_run_exp_avg | 0.0512 |
| ab_bat_speed_avg | 62.70000000000001 |
| ab_swing_length_avg | 6.566666666666666 |
| ab_launch_speed_max | 75.3 |
| ab_hit_distance_sc_max | 199.0 |
| ab_release_speed_max | 97.3 |
| ab_release_spin_rate_max | 2287.0 |
| ab_release_speed_min | 85.7 |
| ab_release_spin_rate_min | 818.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.013 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.312 | 1.000 | 1.000 | Hitting_2B | 0.294 | 0.000 | 0.706 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.875 | 3.000 | 7.000 | Hitting_AB | 3.647 | 3.000 | -0.647 | 0.000 |
| predicted_AVG | 0.238 | 0.667 | 0.143 | Hitting_AVG | 0.129 | 0.333 | 0.538 | 0.333 |
| predicted_BB | 0.250 | 1.000 | 0.000 | Hitting_BB | 0.235 | 0.000 | 0.765 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 2.000 | 1.000 | Hitting_H | 0.471 | 1.000 | 1.529 | 1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.280 | 0.750 | 0.143 | Hitting_OBP | 0.182 | 0.333 | 0.568 | 0.417 |
| predicted_R | 0.312 | 1.000 | 1.000 | Hitting_R | 0.353 | 0.000 | 0.647 | 1.000 |
| predicted_RBI | 0.300 | 2.000 | 0.000 | Hitting_RBI | 0.000 | 0.000 | 2.000 | 2.000 |
| predicted_SLG | 0.352 | 1.000 | 0.286 | Hitting_SLG | 0.210 | 0.333 | 0.790 | 0.667 |
| predicted_SO | 1.312 | 1.000 | 2.000 | Hitting_SO | 1.235 | 1.000 | -0.235 | 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.3000 -> 2.0000 (boost 1.7000, better) |
| Biggest Deboost | predicted_AB: 3.8750 -> 3.0000 (deboost -0.8750, 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.8750 -> 6.5555 (boost 2.6805, better) | predicted_SLG: 0.3520 -> 0.3288 (deboost -0.0232, 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.2170 -> 0.1762 (deboost -0.0408, 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_2B: 0.5013 -> 1.0000 (boost 0.4987, better) | predicted_BB: 0.4088 -> 0.0000 (deboost -0.4088, worse) | AB rounded to 7 (raw=6.56), rates preserved: AVG=0.176 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6035 -> 1.0000 (boost 0.3965, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.2246 -> 0.1430 (deboost -0.0816, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 3 | 2 | 4 | 1 | predicted_RBI: 0.0000 -> 2.0000 (boost 2.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 | 3 | 0 | 3 | 0 | predicted_OBP: 0.1430 -> 0.2246 (boost 0.0816, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "622268",
"player_name": "Donovan Walton",
"position": "3B",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.312,
"predicted_3B": 0.0,
"predicted_AB": 3.875,
"predicted_AVG": 0.238,
"predicted_BB": 0.25,
"predicted_H": 0.66,
"predicted_HR": 0.08,
"predicted_OBP": 0.28,
"predicted_R": 0.312,
"predicted_RBI": 0.3,
"predicted_SLG": 0.352,
"predicted_SO": 1.312
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.5013,
"predicted_3B": 0.005,
"predicted_AB": 6.5555,
"predicted_AVG": 0.217,
"predicted_BB": 0.4092,
"predicted_H": 1.1534,
"predicted_HBP": 0.032,
"predicted_HR": 0.094,
"predicted_OBP": 0.2619,
"predicted_R": 0.601,
"predicted_RBI": 0.3592,
"predicted_SLG": 0.3288,
"predicted_SO": 2.0891
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.312,
"after": 0.5013,
"delta": 0.1893,
"percent_delta": 0.6067,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.005,
"delta": 0.005,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.875,
"after": 6.5555,
"delta": 2.6805,
"percent_delta": 0.6917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.217,
"delta": -0.021,
"percent_delta": -0.0882,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.4092,
"delta": 0.1592,
"percent_delta": 0.6368,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.1534,
"delta": 0.4934,
"percent_delta": 0.7476,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.094,
"delta": 0.014,
"percent_delta": 0.175,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.28,
"after": 0.2619,
"delta": -0.0181,
"percent_delta": -0.0646,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.601,
"delta": 0.289,
"percent_delta": 0.9263,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 0.3592,
"delta": 0.0592,
"percent_delta": 0.1973,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3288,
"delta": -0.0232,
"percent_delta": -0.0659,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.312,
"after": 2.0891,
"delta": 0.7771,
"percent_delta": 0.5923,
"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.875,
"after": 6.5555,
"delta": 2.6805,
"percent_delta": 0.6917,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.3288,
"delta": -0.0232,
"percent_delta": -0.0659,
"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": 3,
"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.5013,
"predicted_3B": 0.005,
"predicted_AB": 6.5555,
"predicted_AVG": 0.1762,
"predicted_BB": 0.4088,
"predicted_H": 1.1551,
"predicted_HBP": 0.032,
"predicted_HR": 0.0932,
"predicted_OBP": 0.2246,
"predicted_R": 0.6035,
"predicted_RBI": 0.3607,
"predicted_SLG": 0.2968,
"predicted_SO": 2.0912
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5013,
"after": 0.5013,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.005,
"after": 0.005,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.5555,
"after": 6.5555,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.1762,
"delta": -0.0408,
"percent_delta": -0.188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4092,
"after": 0.4088,
"delta": -0.0004,
"percent_delta": -0.001,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1534,
"after": 1.1551,
"delta": 0.0017,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.032,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.094,
"after": 0.0932,
"delta": -0.0008,
"percent_delta": -0.0085,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2619,
"after": 0.2246,
"delta": -0.0373,
"percent_delta": -0.1424,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.601,
"after": 0.6035,
"delta": 0.0025,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3592,
"after": 0.3607,
"delta": 0.0015,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3288,
"after": 0.2968,
"delta": -0.032,
"percent_delta": -0.0973,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0891,
"after": 2.0912,
"delta": 0.0021,
"percent_delta": 0.001,
"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.217,
"after": 0.1762,
"delta": -0.0408,
"percent_delta": -0.188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.56), rates preserved: AVG=0.176 HR/AB=0.014",
"stats": {
"predicted_2B": 1.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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5013,
"after": 1.0,
"delta": 0.4987,
"percent_delta": 0.9948,
"direction": "boost",
"projection_effect": "better",
"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": 6.5555,
"after": 7.0,
"delta": 0.4445,
"percent_delta": 0.0678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4088,
"after": 0.0,
"delta": -0.4088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1551,
"after": 1.0,
"delta": -0.1551,
"percent_delta": -0.1343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.032,
"after": 0.0,
"delta": -0.032,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0932,
"after": 0.0,
"delta": -0.0932,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3607,
"after": 0.0,
"delta": -0.3607,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0912,
"after": 2.0,
"delta": -0.0912,
"percent_delta": -0.0436,
"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.5013,
"after": 1.0,
"delta": 0.4987,
"percent_delta": 0.9948,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4088,
"after": 0.0,
"delta": -0.4088,
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.6035,
"after": 1.0,
"delta": 0.3965,
"percent_delta": 0.657,
"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.6035,
"after": 1.0,
"delta": 0.3965,
"percent_delta": 0.657,
"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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.143,
"predicted_R": 1.0,
"predicted_RBI": 0.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.1762,
"after": 0.143,
"delta": -0.0332,
"percent_delta": -0.1884,
"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.2246,
"after": 0.143,
"delta": -0.0816,
"percent_delta": -0.3633,
"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.2968,
"after": 0.286,
"delta": -0.0108,
"percent_delta": -0.0364,
"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.2246,
"after": 0.143,
"delta": -0.0816,
"percent_delta": -0.3633,
"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": 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": 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": 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": 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": 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": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 4,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"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.1762,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2246,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2968,
"predicted_SO": 1.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.143,
"after": 0.1762,
"delta": 0.0332,
"percent_delta": 0.2322,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 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.2246,
"delta": 0.0816,
"percent_delta": 0.5704,
"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.286,
"after": 0.2968,
"delta": 0.0108,
"percent_delta": 0.0379,
"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.143,
"after": 0.2246,
"delta": 0.0816,
"percent_delta": 0.5704,
"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.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"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.875,
"after": 3.0,
"delta": -0.875,
"percent_delta": -0.2258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.1762,
"delta": -0.0618,
"percent_delta": -0.2597,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 2.0,
"delta": 1.34,
"percent_delta": 2.0303,
"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.28,
"after": 0.2246,
"delta": -0.0554,
"percent_delta": -0.1979,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 1.0,
"delta": 0.688,
"percent_delta": 2.2051,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.352,
"after": 0.2968,
"delta": -0.0552,
"percent_delta": -0.1568,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.312,
"after": 1.0,
"delta": -0.312,
"percent_delta": -0.2378,
"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.3,
"after": 2.0,
"delta": 1.7,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.875,
"after": 3.0,
"delta": -0.875,
"percent_delta": -0.2258,
"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.312 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.875 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.280 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.300 | - |
| predicted_SLG | 0.352 | - |
| predicted_SO | 1.312 | - |
Final model 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.501 | 0.189 |
| predicted_3B | 0.005 | 0.005 |
| predicted_AB | 6.556 | 2.681 |
| predicted_AVG | 0.217 | -0.021 |
| predicted_BB | 0.409 | 0.159 |
| predicted_H | 1.153 | 0.493 |
| predicted_HBP | 0.032 | - |
| predicted_HR | 0.094 | 0.014 |
| predicted_OBP | 0.262 | -0.018 |
| predicted_R | 0.601 | 0.289 |
| predicted_RBI | 0.359 | 0.059 |
| predicted_SLG | 0.329 | -0.023 |
| predicted_SO | 2.089 | 0.777 |
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.501 | 0.000 |
| predicted_3B | 0.005 | 0.000 |
| predicted_AB | 6.556 | 0.000 |
| predicted_AVG | 0.176 | -0.041 |
| predicted_BB | 0.409 | -0.000 |
| predicted_H | 1.155 | 0.002 |
| predicted_HBP | 0.032 | 0.000 |
| predicted_HR | 0.093 | -0.001 |
| predicted_OBP | 0.225 | -0.037 |
| predicted_R | 0.604 | 0.003 |
| predicted_RBI | 0.361 | 0.002 |
| predicted_SLG | 0.297 | -0.032 |
| predicted_SO | 2.091 | 0.002 |
AB rounded to 7 (raw=6.56), rates preserved: AVG=0.176 HR/AB=0.014
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 7.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 | 1.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 | 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 | 1.000 | 0.499 |
| predicted_3B | 0.000 | -0.005 |
| predicted_AB | 7.000 | 0.444 |
| predicted_AVG | 0.143 | -0.033 |
| predicted_BB | 0.000 | -0.409 |
| predicted_H | 1.000 | -0.155 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.143 | -0.082 |
| predicted_R | 1.000 | 0.396 |
| predicted_RBI | 0.000 | -0.361 |
| predicted_SLG | 0.286 | -0.011 |
| predicted_SO | 2.000 | -0.091 |
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 | 3.000 | -4.000 |
| BB | 1.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 | 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 | - | 19.000 | 5.000 | 2.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 7.000 | 0.2632 | 0.2632 | 0.3684 | 0.2632 | 0.0000 | 0.0000 | 0.0000 | 0.3684 |
| last_10 | 0.20 | 3 | - | 42.000 | 8.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 17.000 | 0.1905 | 0.1905 | 0.3095 | 0.1905 | 0.0000 | 0.0000 | 0.0000 | 0.4048 |
| season | 0.60 | 4 | - | 62.000 | 8.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 4.000 | 21.000 | 0.1290 | 0.1818 | 0.2097 | 0.1290 | 0.0000 | 0.0000 | 0.0645 | 0.3387 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8400 |
| predicted_3B | 0.0140 |
| predicted_AB | 11.3500 |
| predicted_AVG | 0.1794 |
| predicted_BB | 0.6940 |
| predicted_H | 2.0360 |
| predicted_HBP | 0.0320 |
| predicted_HR | 0.1190 |
| predicted_OBP | 0.2295 |
| predicted_R | 1.1180 |
| predicted_RBI | 0.4650 |
| predicted_SLG | 0.2874 |
| predicted_SO | 3.4790 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3120 | 0.8400 | 0.5013 | model_form_blend |
| predicted_3B | 0.0000 | 0.0140 | 0.0050 | model_form_blend |
| predicted_AB | 3.8750 | 11.3500 | 6.5555 | model_form_blend |
| predicted_AVG | 0.2380 | 0.1794 | 0.2170 | model_form_blend |
| predicted_BB | 0.2500 | 0.6940 | 0.4092 | model_form_blend |
| predicted_H | 0.6600 | 2.0360 | 1.1534 | model_form_blend |
| predicted_HBP | - | 0.0320 | 0.0320 | form_only |
| predicted_HR | 0.0800 | 0.1190 | 0.0940 | model_form_blend |
| predicted_OBP | 0.2800 | 0.2295 | 0.2619 | model_form_blend |
| predicted_R | 0.3120 | 1.1180 | 0.6010 | model_form_blend |
| predicted_RBI | 0.3000 | 0.4650 | 0.3592 | model_form_blend |
| predicted_SLG | 0.3520 | 0.2874 | 0.3288 | model_form_blend |
| predicted_SO | 1.3120 | 3.4790 | 2.0891 | model_form_blend |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 20% last 5 + 20% last 10 + 60% season |
| Active form weights | last_5=20%, last_10=20%, season=60% |
| Model calibration | 55% raw model + 45% weighted form |
| Rows before report date | 17 |
| Season rows before report date | 17 |
| Report year | 2026 |
| Profile rows used | 16 |
| 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 | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.129 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_LAA@DET |
| game_type | full |
| mlbID | 622268 |
| playerID | 622268 |
| playerName | Donovan Walton |
| pos | 2B |
| started | True |
| startingPosition | 3B |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 7.7 |
| sl_woba | 0.152 |
| sl_xwoba | 0.277 |
| sl_xba | 0.204 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 62.5 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 50.0 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 6.4 |
| sl_whiff_percent | 37.9 |
| sl_swing_percent | 51.8 |
| at_bat_number | 58.0 |
| ab_pitcher | 640448.0 |
| ab_pitcher_name | Finnegan, Kyle |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 4.0 |
| ab_event | field_out |
| ab_event_description | Donovan Walton flies out to third baseman Kevin McGonigle. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 87.2 |
| ab_launch_angle_last | 58.0 |
| ab_hit_distance_last | 188.0 |
| ab_estimated_ba_last | 0.011 |
| ab_estimated_woba_last | 0.01 |
| ab_estimated_slg_last | 0.012 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 4.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 91.76666666666668 |
| ab_release_spin_rate_avg | 1628.6666666666667 |
| ab_effective_speed_avg | 92.65 |
| ab_launch_speed_avg | 74.93333333333334 |
| ab_launch_angle_avg | 56.66666666666666 |
| ab_delta_run_exp_avg | -0.0406666666666666 |
| ab_delta_home_win_exp_avg | 0.0005 |
| ab_delta_pitcher_run_exp_avg | 0.0406666666666666 |
| ab_bat_speed_avg | 63.35 |
| ab_swing_length_avg | 6.3 |
| ab_launch_speed_max | 87.2 |
| ab_hit_distance_sc_max | 219.0 |
| ab_release_speed_max | 96.4 |
| ab_release_spin_rate_max | 2358.0 |
| ab_release_speed_min | 86.8 |
| ab_release_spin_rate_min | 828.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | 0.003 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 5.000 | 5.000 | 5.000 | Pitching_BB | 3.000 | 2.000 | 2.000 | 3.000 |
| predicted_ER | 6.000 | 6.000 | 6.000 | Pitching_ER | 5.500 | 4.000 | 0.500 | 2.000 |
| predicted_H | 6.000 | 6.000 | 6.000 | Pitching_H | 7.000 | 7.000 | -1.000 | -1.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.200 | 5.200 | -0.100 | -1.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 4.500 | 5.000 | -2.500 | -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 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.1000 (deboost -0.9000, 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.1000 (deboost -0.9000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "680570",
"player_name": "Grayson Rodriguez",
"position": "Starter",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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": 5.0,
"predicted_ER": 6.0,
"predicted_H": 6.0,
"predicted_HR": 2.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": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 5.0,
"predicted_ER": 6.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 5.0,
"after": 5.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": 6.0,
"after": 6.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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"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": 5.0,
"predicted_ER": 6.0,
"predicted_H": 6.0,
"predicted_HR": 2.0,
"predicted_IP": 4.1,
"predicted_R": 6.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 5.0,
"after": 5.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": 6.0,
"after": 6.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.1,
"after": 4.1,
"delta": 0.0,
"percent_delta": 0.0,
"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": "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": 1.0,
"after": 2.0,
"delta": 1.0,
"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": 5.0,
"after": 5.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": 6.0,
"after": 6.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": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "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": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.1,
"delta": -0.9,
"percent_delta": -0.18,
"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 | 5.000 | - |
| predicted_ER | 6.000 | - |
| predicted_H | 6.000 | - |
| predicted_HR | 2.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 1.000 | - |
Starter workload capped by recent innings, season ERA/WHIP, and team-form context.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 5.000 | 0.000 |
| predicted_ER | 6.000 | 0.000 |
| predicted_H | 6.000 | 0.000 |
| predicted_HR | 2.000 | 0.000 |
| predicted_IP | 4.100 | -0.900 |
| predicted_SO | 1.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 | 2 | 9.100 | 11.000 | 14.000 | 6.000 | 9.000 | 1.000 | 10.6071 | 2.1429 | 1.1786 | 1.5000 | 0.6429 | 0.9643 | 0.1071 |
| last_10 | 0.35 | 2 | 9.100 | 11.000 | 14.000 | 6.000 | 9.000 | 1.000 | 10.6071 | 2.1429 | 1.1786 | 1.5000 | 0.6429 | 0.9643 | 0.1071 |
| season | 0.20 | 2 | 9.100 | 11.000 | 14.000 | 6.000 | 9.000 | 1.000 | 10.6071 | 2.1429 | 1.1786 | 1.5000 | 0.6429 | 0.9643 | 0.1071 |
| Metric | Value |
|---|---|
| predicted_BB | 2.1940 |
| predicted_ER | 3.3030 |
| predicted_ERA | 6.0599 |
| predicted_H | 5.4060 |
| predicted_HR | 0.6090 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.6590 |
| predicted_WHIP | 1.5495 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 5.0000 | 2.1940 | 4.0229 | model_form_blend |
| predicted_ER | 6.0000 | 3.3030 | 5.0609 | model_form_blend |
| predicted_ERA | - | 6.0599 | 6.0599 | form_only |
| predicted_H | 6.0000 | 5.4060 | 5.7932 | model_form_blend |
| predicted_HR | 2.0000 | 0.6090 | 1.5156 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 1.0000 | 4.6590 | 2.2741 | model_form_blend |
| predicted_WHIP | - | 1.5495 | 1.5495 | 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 | 4.1 |
| H | 6 |
| R | 6 |
| ER | 6 |
| BB | 5 |
| SO | 2 |
| HR | 2 |
| BF | 24 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 25 |
| Pitching_ER | 4 |
| Pitching_ERA | 10.61 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 6 |
| Pitching_H | 7 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 97 |
| Pitching_R | 4 |
| Pitching_SO | 5 |
| Pitching_Strikes | 62 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260522_TEX@LAA |
| game_type | full |
| mlbID | 680570 |
| playerID | 680570 |
| playerName | Grayson Rodriguez |
| pos | P |
| started | True |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-22 |
| game_pk | 824029.0 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.423 |
| sl_xwoba | 0.429 |
| sl_sweet_spot_percent | 38.7 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 45.2 |
| sl_whiff_percent | 21.6 |
| sl_swing_percent | 42.0 |
| sv_pitch_count | 97.0 |
| sv_outs_recorded_est | 17.0 |
| sv_release_speed | 90.29454545454546 |
| sv_release_spin_rate | 2269.2909090909093 |
| sv_effective_speed | 91.36545454545455 |
| sv_launch_speed | 84.27058823529411 |
| sv_launch_angle | 28.176470588235293 |
| sv_woba_value | 10.2 |
| sv_woba_denom | 15.0 |
| sv_delta_run_exp | 1.521 |
| sv_delta_home_win_exp | 0.0289999999999999 |
| sl_avg_best_speed | 81.170365625 |
| sl_avg_hyper_speed | 94.612310968 |
| Metric | XGBoost Raw | Final Simulated Prediction | Pre-Sim Finalized | True Data Column | Historical Baseline | Latest Real Game | Final - Baseline | Final - Latest Real |
|---|---|---|---|---|---|---|---|---|
| predicted_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 0.579 | 1.000 | -0.579 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.368 | 0.000 | -0.368 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.842 | 2.000 | -0.842 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.184 | 1.000 | -0.084 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.421 | 2.000 | -0.421 | -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": "696147",
"player_name": "Sam Bachman",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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 | 0.000 | 5.000 | 1.000 | 6.000 | 0.000 | 0.0000 | 0.8571 | 0.0000 | 0.7143 | 0.1429 | 0.8571 | 0.0000 |
| last_10 | 0.35 | 10 | 12.100 | 3.000 | 9.000 | 3.000 | 12.000 | 2.000 | 2.1892 | 0.9730 | 0.2432 | 0.7297 | 0.2432 | 0.9730 | 0.1622 |
| season | 0.20 | 19 | 26.000 | 7.000 | 16.000 | 11.000 | 27.000 | 2.000 | 2.4231 | 1.0385 | 0.2692 | 0.6154 | 0.4231 | 1.0385 | 0.0769 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4010 |
| predicted_ER | 0.4040 |
| predicted_ERA | 2.7272 |
| predicted_H | 1.0930 |
| predicted_HR | 0.1350 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.2520 |
| predicted_WHIP | 1.1207 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4010 | 0.1770 | model_form_blend |
| predicted_ER | 0.0000 | 0.4040 | 0.1783 | model_form_blend |
| predicted_ERA | - | 2.7272 | 2.7272 | form_only |
| predicted_H | 0.0000 | 1.0930 | 0.4825 | model_form_blend |
| predicted_HR | 0.0000 | 0.1350 | 0.0596 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 1.0000 | 1.2520 | 1.1112 | model_form_blend |
| predicted_WHIP | - | 1.1207 | 1.1207 | 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 | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.42 |
| 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 | 1.0 |
| Pitching_Pitches | 27 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 18 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260524_TEX@LAA |
| game_type | full |
| mlbID | 696147 |
| playerID | 696147 |
| playerName | Sam Bachman |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-24 |
| game_pk | 824028.0 |
| sl_k_percent | 26.2 |
| sl_bb_percent | 10.7 |
| sl_woba | 0.256 |
| sl_xwoba | 0.254 |
| sl_sweet_spot_percent | 26.6 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 29.7 |
| sl_whiff_percent | 33.9 |
| sl_swing_percent | 43.3 |
| sv_pitch_count | 27.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 93.31111111111112 |
| sv_release_spin_rate | 2439.074074074074 |
| sv_effective_speed | 92.94814814814816 |
| sv_launch_speed | 88.47999999999999 |
| sv_launch_angle | -5.6 |
| sv_woba_value | 2.5 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | 0.0969999999999999 |
| sv_delta_home_win_exp | 0.139 |
| sl_avg_best_speed | 74.584310323 |
| sl_avg_hyper_speed | 92.617162097 |
| 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 | 1.000 | -0.500 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.800 | 1.000 | 0.200 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.250 | 1.000 | -1.250 | -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": "489446",
"player_name": "Kirby Yates",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.200 | 1.000 | 1.000 | 3.000 | 6.000 | 1.000 | 1.9286 | 0.8571 | 0.2143 | 0.2143 | 0.6429 | 1.2857 | 0.2143 |
| last_10 | 0.35 | 8 | 7.100 | 3.000 | 4.000 | 4.000 | 10.000 | 1.000 | 3.6818 | 1.0909 | 0.4091 | 0.5454 | 0.5454 | 1.3636 | 0.1364 |
| season | 0.20 | 8 | 7.100 | 3.000 | 4.000 | 4.000 | 10.000 | 1.000 | 3.6818 | 1.0909 | 0.4091 | 0.5454 | 0.5454 | 1.3636 | 0.1364 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4240 |
| predicted_ER | 0.4270 |
| predicted_ERA | 3.8474 |
| predicted_H | 0.8030 |
| predicted_HR | 0.1440 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0260 |
| predicted_WHIP | 1.2267 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4240 | 0.1367 | model_form_blend |
| predicted_ER | 0.0000 | 0.4270 | 0.1376 | model_form_blend |
| predicted_ERA | - | 3.8474 | 3.8474 | form_only |
| predicted_H | 0.0000 | 0.8030 | 0.2588 | model_form_blend |
| predicted_HR | 0.0000 | 0.1440 | 0.0464 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0260 | 0.3307 | model_form_blend |
| predicted_WHIP | - | 1.2267 | 1.2267 | form_only |
| Trace Item | Value |
|---|---|
| Primary player source | data/all_players_stats.csv |
| Rolling form windows | last 5 games, last 10 games, season-to-date before report date |
| Blend formula | 45% last 5 + 35% last 10 + 20% season |
| Active form weights | last_5=45%, last_10=35%, season=20% |
| Model calibration | 35% raw model + 65% weighted form |
| Rows before report date | 8 |
| Season rows before report date | 8 |
| Report year | 2026 |
| Profile rows used | 8 |
| 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.68 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 7 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260526_LAA@DET |
| game_type | full |
| mlbID | 489446 |
| playerID | 489446 |
| playerName | Kirby Yates |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-26 |
| game_pk | 824275.0 |
| sl_k_percent | 31.3 |
| sl_bb_percent | 12.5 |
| sl_woba | 0.272 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 52.9 |
| sl_whiff_percent | 27.4 |
| sl_swing_percent | 45.9 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 88.975 |
| sv_release_spin_rate | 2123.9375 |
| sv_effective_speed | 88.825 |
| sv_launch_speed | 97.0 |
| sv_launch_angle | 41.0 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.32 |
| sv_delta_home_win_exp | -0.0189999999999999 |
| sl_avg_best_speed | 83.09247 |
| sl_avg_hyper_speed | 96.451692353 |
| 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.615 | 0.000 | -0.615 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.308 | 0.000 | -0.308 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 0.831 | 1.100 | -0.631 | -0.900 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.077 | 3.000 | -0.077 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 1 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 1 |
| Biggest Boost | - |
| Biggest Deboost | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 0.6667 -> 0.2000 (deboost -0.4667, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "820862",
"player_name": "José Fermin",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"predicted_R": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 0.6667,
"after": 0.2,
"delta": -0.4667,
"percent_delta": -0.7,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 4.000 | 0.000 | 4.000 | 5.000 | 5.000 | 0.000 | 0.0000 | 2.2500 | 0.0000 | 1.0000 | 1.2500 | 1.2500 | 0.0000 |
| last_10 | 0.35 | 10 | 9.000 | 3.000 | 7.000 | 8.000 | 10.000 | 0.000 | 3.0000 | 1.6667 | 0.3333 | 0.7778 | 0.8889 | 1.1111 | 0.0000 |
| season | 0.20 | 13 | 12.200 | 4.000 | 8.000 | 8.000 | 14.000 | 1.000 | 2.8421 | 1.2632 | 0.3158 | 0.6316 | 0.6316 | 1.1053 | 0.0790 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4220 |
| predicted_ER | 0.2720 |
| predicted_ERA | 3.3673 |
| predicted_H | 0.6630 |
| predicted_HR | 0.0670 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.7420 |
| predicted_WHIP | 1.4908 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4220 | 0.1554 | model_form_blend |
| predicted_ER | 0.0000 | 0.2720 | 0.1002 | model_form_blend |
| predicted_ERA | - | 3.3673 | 3.3673 | form_only |
| predicted_H | 0.0000 | 0.6630 | 0.2442 | model_form_blend |
| predicted_HR | 0.0000 | 0.0670 | 0.0247 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7420 | 0.9050 | model_form_blend |
| predicted_WHIP | - | 1.4908 | 1.4908 | 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 | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.84 |
| 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 | 15 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260526_LAA@DET |
| game_type | full |
| mlbID | 820862 |
| playerID | 820862 |
| playerName | José Fermin |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-26 |
| game_pk | 824275.0 |
| sl_k_percent | 25.0 |
| sl_bb_percent | 14.3 |
| sl_woba | 0.275 |
| sl_xwoba | 0.337 |
| sl_sweet_spot_percent | 31.3 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 50.0 |
| sl_whiff_percent | 31.6 |
| sl_swing_percent | 49.8 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 90.2 |
| sv_release_spin_rate | 2478.133333333333 |
| sv_effective_speed | 89.92666666666668 |
| sv_launch_speed | 84.53333333333335 |
| sv_launch_angle | 39.0 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -1.039 |
| sv_delta_home_win_exp | -0.051 |
| sl_avg_best_speed | 81.718596875 |
| sl_avg_hyper_speed | 94.74456375 |
| 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.600 | 0.000 | -0.600 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.700 | 0.000 | 0.300 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.400 | 3.000 | 0.600 | -1.000 |
| predicted_IP | 0.200 | 0.200 | 0.200 | Pitching_InningsPitched | 1.395 | 3.000 | -1.195 | -2.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.300 | 2.000 | -0.300 | -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": "608718",
"player_name": "Brent Suter",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.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": 1.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 0.2,
"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": 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": 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.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 | 1.000 | - |
| predicted_H | 2.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 | 7.200 | 4.000 | 8.000 | 2.000 | 4.000 | 0.000 | 4.6957 | 1.3043 | 0.5217 | 1.0435 | 0.2609 | 0.5217 | 0.0000 |
| last_10 | 0.35 | 10 | 12.000 | 8.000 | 13.000 | 4.000 | 9.000 | 1.000 | 6.0000 | 1.4167 | 0.6667 | 1.0833 | 0.3333 | 0.7500 | 0.0833 |
| season | 0.20 | 20 | 30.000 | 14.000 | 28.000 | 12.000 | 26.000 | 3.000 | 4.2000 | 1.3333 | 0.4667 | 0.9333 | 0.4000 | 0.8667 | 0.1000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3250 |
| predicted_ER | 0.4980 |
| predicted_ERA | 4.6812 |
| predicted_H | 0.9500 |
| predicted_HR | 0.0830 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7610 |
| predicted_WHIP | 1.3323 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3250 | 0.1484 | model_form_blend |
| predicted_ER | 1.0000 | 0.4980 | 0.7708 | model_form_blend |
| predicted_ERA | - | 4.6812 | 4.6812 | form_only |
| predicted_H | 2.0000 | 0.9500 | 1.5207 | model_form_blend |
| predicted_HR | 0.0000 | 0.0830 | 0.0379 | model_form_blend |
| predicted_IP | 0.1000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7610 | 0.8909 | model_form_blend |
| predicted_WHIP | - | 1.3323 | 1.3323 | 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 | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| 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 | 12 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.20 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 3 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 40 |
| Pitching_R | 1 |
| Pitching_SO | 2 |
| Pitching_Strikes | 31 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 608718 |
| playerID | 608718 |
| playerName | Brent Suter |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 11.6 |
| sl_woba | 0.334 |
| sl_xwoba | 0.314 |
| sl_sweet_spot_percent | 29.3 |
| sl_barrel_batted_rate | 6.8 |
| sl_hard_hit_percent | 30.7 |
| sl_whiff_percent | 24.6 |
| sl_swing_percent | 47.2 |
| sv_pitch_count | 40.0 |
| sv_outs_recorded_est | 9.0 |
| sv_release_speed | 83.745 |
| sv_release_spin_rate | 2030.675 |
| sv_effective_speed | 85.25750000000001 |
| sv_launch_speed | 78.7421052631579 |
| sv_launch_angle | 26.57894736842105 |
| sv_woba_value | 3.4 |
| sv_woba_denom | 12.0 |
| sv_delta_run_exp | -0.5579999999999998 |
| sv_delta_home_win_exp | 0.0019999999999999 |
| sl_avg_best_speed | 72.791090556 |
| sl_avg_hyper_speed | 93.421081408 |
| 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.789 | 0.000 | -0.789 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.684 | 1.000 | -0.684 | -1.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.789 | 1.000 | -0.789 | -1.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 1.158 | 1.000 | -1.158 | -1.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.579 | 1.000 | -1.579 | -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: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "666171",
"player_name": "Ryan Zeferjahn",
"position": "Middle Reliever",
"team": "LAA",
"interpretation": "Boost/deboost is numeric movement 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.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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 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 | 3.200 | 3.000 | 4.000 | 4.000 | 3.000 | 1.000 | 7.3636 | 2.1818 | 0.8182 | 1.0909 | 1.0909 | 0.8182 | 0.2727 |
| last_10 | 0.35 | 10 | 11.200 | 4.000 | 5.000 | 8.000 | 14.000 | 1.000 | 3.0857 | 1.1143 | 0.3429 | 0.4286 | 0.6857 | 1.2000 | 0.0857 |
| season | 0.20 | 19 | 24.100 | 13.000 | 15.000 | 15.000 | 30.000 | 1.000 | 4.8082 | 1.2329 | 0.5343 | 0.6164 | 0.6164 | 1.2329 | 0.0411 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4100 |
| predicted_ER | 0.3600 |
| predicted_ERA | 4.7869 |
| predicted_H | 0.5780 |
| predicted_HR | 0.0990 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6680 |
| predicted_WHIP | 1.4621 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4100 | 0.1781 | model_form_blend |
| predicted_ER | 0.0000 | 0.3600 | 0.1564 | model_form_blend |
| predicted_ERA | - | 4.7869 | 4.7869 | form_only |
| predicted_H | 0.0000 | 0.5780 | 0.2511 | model_form_blend |
| predicted_HR | 0.0000 | 0.0990 | 0.0430 | model_form_blend |
| predicted_IP | 0.1000 | 0.2000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6680 | 0.8558 | model_form_blend |
| predicted_WHIP | - | 1.4621 | 1.4621 | 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 | 0.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 0 |
| HR | 0 |
| BF | 0 |
| Pitches | 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 | 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.81 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 1 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260523_TEX@LAA |
| game_type | full |
| mlbID | 666171 |
| playerID | 666171 |
| playerName | Ryan Zeferjahn |
| pos | P |
| started | False |
| startingPosition | P |
| team | LAA |
| teamID | 13 |
| game_date | 2026-05-23 |
| game_pk | 824030.0 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 13.0 |
| sl_woba | 0.283 |
| sl_xwoba | 0.278 |
| sl_sweet_spot_percent | 26.3 |
| sl_barrel_batted_rate | 3.6 |
| sl_hard_hit_percent | 35.1 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 40.2 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.54 |
| sv_release_spin_rate | 2307.0 |
| sv_effective_speed | 91.81333333333332 |
| sv_launch_speed | 90.2 |
| sv_launch_angle | 36.0 |
| sv_woba_value | 2.0 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.3409999999999999 |
| sv_delta_home_win_exp | -0.057 |
| sl_avg_best_speed | 79.878806429 |
| sl_avg_hyper_speed | 93.115431786 |
| Field | Value |
|---|---|
| Pitcher | Jack Flaherty |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.5049 |
| ESPN Rank | 639 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.1276 |
| Avg Velo | 87.4082 |
| Avg Spin | 2294.0864 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.1000 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 7 |
| Pre SO | 5 |
| Season ERA | 5.9362 |
| Season WHIP | 1.6596 |
| Role Avg IP | 4.2730 |
| Recent Avg IP | 4.3330 |
| Last Start IP | 3.1000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"opponent": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"edges": {
"quality_edge": -0.0526,
"offense_edge": -0.1219,
"opponent_offense_edge": -0.0641,
"defense_strength": 0.0396,
"opponent_defense_weakness": 0.1339,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 0.9884,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656427",
"profile": {
"available": true,
"pitcher_id": "656427",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 203.0,
"k_percent": 24.4,
"bb_percent": 12.9,
"woba": 0.37,
"xwoba": 0.351,
"sweet_spot_percent": 38.2,
"barrel_batted_rate": 9.6,
"hard_hit_percent": 47.1,
"avg_best_speed": 81.2442,
"avg_hyper_speed": 95.0829,
"whiff_percent": 24.3,
"swing_percent": 43.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.1244,
"command_and_miss": -0.1393,
"regression_edge": 0.5429,
"xwoba_edge": -1.2,
"barrel_edge": -0.5111,
"hard_hit_edge": -1.2286,
"whiff_edge": -0.2286,
"bb_edge": -0.875,
"pitch_design_score": -0.1276
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656427",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.40818183405942,
"release_spin_rate": 2294.086410359278,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88,
"pitch_usage": 0.0,
"release_speed": 87.40818183405942,
"release_spin_rate": 2294.086410359278,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4082,
"release_spin_rate": 2294.0864,
"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.1276,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9118,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.5049,
"sample_weight": 0.812,
"run_prevention_factor": 1.0429,
"strikeout_factor": 1.0009,
"walk_factor": 1.0568,
"homer_factor": 1.1023,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656427",
"espn_id": 33837,
"player_name": "Jack Flaherty",
"team": "DET",
"role": "pitcher",
"espn_rank": 639,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 639,
"gp_value": 11.0,
"gp_rank": 245,
"gs_value": 11.0,
"gs_rank": 16,
"qs_value": 1.0,
"qs_rank": 122,
"era_value": 5.9361,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 6.0,
"l_rank": 4,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 47.0,
"ip_rank": 111,
"h_value": 49.0,
"h_rank": 81,
"er_value": 31.0,
"er_rank": 23,
"hr_value": 8.0,
"hr_rank": 41,
"bb_value": 29.0,
"bb_rank": 8,
"k_value": 55.0,
"k_rank": 51,
"k_per_9_value": 10.531915,
"k_per_9_rank": 12,
"whip_value": 1.6595,
"whip_rank": null,
"war_value": -0.79,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0348,
"adjusted": 3
},
"predicted_H": {
"original": 5.0,
"factor": 1.0348,
"adjusted": 5
},
"predicted_BB": {
"original": 2.0,
"factor": 1.0461,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 1.0831,
"adjusted": 1
},
"predicted_SO": {
"original": 5.0,
"factor": 1.0007,
"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": 42.2,
"ER": 29,
"H": 45,
"BB": 25,
"SO": 53,
"HR": 8,
"ERA": 6.1171875,
"WHIP": 1.640625,
"K9": 11.1796875,
"HR9": 1.6875,
"games_pitched": 10,
"quality_starts": 1,
"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-22T00:00:00"
}{
"available": true,
"pitcher_id": "656427",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 88,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 88,
"pitch_usage": 0.0,
"release_speed": 87.40818183405942,
"release_spin_rate": 2294.086410359278,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88,
"pitch_usage": 0.0,
"release_speed": 87.40818183405942,
"release_spin_rate": 2294.086410359278,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.4082,
"release_spin_rate": 2294.0864,
"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.1276,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.9118,
"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": "656427",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 11,
"reference_playing_time": 4.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 21.2,
"ER": 16.0,
"R": 21.0,
"H": 27.0,
"BB": 7.0,
"SO": 27.0,
"HR": 4.0,
"BF": 103.0,
"Pitches": 452.0
},
"per_game": {
"IP": 4.1,
"ER": 3.2,
"R": 4.2,
"H": 5.4,
"BB": 1.4,
"SO": 5.4,
"HR": 0.8,
"BF": 20.6,
"Pitches": 90.4
},
"rates": {
"ERA": 6.6462,
"WHIP": 1.5692,
"ER_per_IP": 0.73846,
"H_per_IP": 1.24615,
"BB_per_IP": 0.32308,
"SO_per_IP": 1.24615,
"HR_per_IP": 0.18462
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 42.2,
"ER": 29.0,
"R": 36.0,
"H": 45.0,
"BB": 25.0,
"SO": 53.0,
"HR": 8.0,
"BF": 204.0,
"Pitches": 865.0
},
"per_game": {
"IP": 4.1,
"ER": 2.9,
"R": 3.6,
"H": 4.5,
"BB": 2.5,
"SO": 5.3,
"HR": 0.8,
"BF": 20.4,
"Pitches": 86.5
},
"rates": {
"ERA": 6.1172,
"WHIP": 1.6406,
"ER_per_IP": 0.67969,
"H_per_IP": 1.05469,
"BB_per_IP": 0.58594,
"SO_per_IP": 1.24219,
"HR_per_IP": 0.1875
}
},
"season": {
"games": 11,
"totals": {
"IP": 47.0,
"ER": 31.0,
"R": 39.0,
"H": 49.0,
"BB": 29.0,
"SO": 55.0,
"HR": 8.0,
"BF": 225.0,
"Pitches": 954.0
},
"per_game": {
"IP": 4.1,
"ER": 2.8182,
"R": 3.5455,
"H": 4.4545,
"BB": 2.6364,
"SO": 5.0,
"HR": 0.7273,
"BF": 20.4545,
"Pitches": 86.7273
},
"rates": {
"ERA": 5.9362,
"WHIP": 1.6596,
"ER_per_IP": 0.65957,
"H_per_IP": 1.04255,
"BB_per_IP": 0.61702,
"SO_per_IP": 1.17021,
"HR_per_IP": 0.17021
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 2.73,
"predicted_H": 4.669,
"predicted_BB": 1.912,
"predicted_SO": 4.942,
"predicted_HR": 0.722,
"predicted_ERA": 5.6697,
"predicted_WHIP": 1.5185
}
}{
"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": 4.1,
"final": 4.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.73,
"final": 2.3781,
"source": "model_form_blend"
},
"predicted_H": {
"model": 4.0,
"form": 4.669,
"final": 4.3465,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 7.0,
"form": 1.912,
"final": 4.3646,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.942,
"final": 4.97,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.722,
"final": 0.374,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.6697,
"final": 5.6697,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5185,
"final": 1.5185,
"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 | Drew Anderson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.1963 |
| ESPN Rank | 154 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0085 |
| Avg Velo | 89.5359 |
| Avg Spin | 2099.2495 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 3.4364 |
| Season WHIP | 1.1727 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"opponent": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"edges": {
"quality_edge": -0.0526,
"offense_edge": -0.1219,
"opponent_offense_edge": -0.0641,
"defense_strength": 0.0396,
"opponent_defense_weakness": 0.1339,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 0.9884,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "623454",
"profile": {
"available": true,
"pitcher_id": "623454",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 123.0,
"k_percent": 29.2,
"bb_percent": 11.8,
"woba": 0.299,
"xwoba": 0.28,
"sweet_spot_percent": 27.4,
"barrel_batted_rate": 7.2,
"hard_hit_percent": 39.3,
"avg_best_speed": 80.148,
"avg_hyper_speed": 94.3601,
"whiff_percent": 30.4,
"swing_percent": 48.1
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.3711,
"command_and_miss": 0.5293,
"regression_edge": 0.5429,
"xwoba_edge": 0.8286,
"barrel_edge": 0.0222,
"hard_hit_edge": -0.1143,
"whiff_edge": 0.6429,
"bb_edge": -0.6,
"pitch_design_score": -0.0085
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "623454",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 34,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 34,
"pitch_usage": 0.0,
"release_speed": 89.53586993399014,
"release_spin_rate": 2099.2495176416933,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 34,
"pitch_usage": 0.0,
"release_speed": 89.53586993399014,
"release_spin_rate": 2099.2495176416933,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5359,
"release_spin_rate": 2099.2495,
"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.0085,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0607,
"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.1963,
"sample_weight": 0.492,
"run_prevention_factor": 0.9833,
"strikeout_factor": 1.0312,
"walk_factor": 1.0236,
"homer_factor": 0.9891,
"woba_minus_xwoba": 0.019,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "623454",
"espn_id": 28617,
"player_name": "Drew Anderson",
"team": "MIL",
"role": "pitcher",
"espn_rank": 154,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 154,
"gp_value": 18.0,
"gp_rank": 143,
"gs_value": 1.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.4363,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 2.0,
"sv_rank": 49,
"hld_value": 2.0,
"hld_rank": 147,
"ip_value": 36.2,
"ip_rank": 139,
"h_value": 27.0,
"h_rank": 159,
"er_value": 14.0,
"er_rank": 153,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 16.0,
"bb_rank": 112,
"k_value": 45.0,
"k_rank": 89,
"k_per_9_value": 11.045454,
"k_per_9_rank": 17,
"whip_value": 1.1727,
"whip_rank": null,
"war_value": 0.53,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9918,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9918,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0116,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9946,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0154,
"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": 24.1,
"ER": 4,
"H": 15,
"BB": 9,
"SO": 33,
"HR": 1,
"ERA": 1.4794520547945205,
"WHIP": 0.9863013698630136,
"K9": 12.205479452054794,
"HR9": 0.3698630136986301,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "623454",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 34,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 34,
"pitch_usage": 0.0,
"release_speed": 89.53586993399014,
"release_spin_rate": 2099.2495176416933,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 34,
"pitch_usage": 0.0,
"release_speed": 89.53586993399014,
"release_spin_rate": 2099.2495176416933,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5359,
"release_spin_rate": 2099.2495,
"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.0085,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.0607,
"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.232,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5912,
"prior_weight": 0.4088
},
"role": "pitcher",
"player_id": "623454",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 18,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.0,
"ER": 0.0,
"R": 1.0,
"H": 5.0,
"BB": 4.0,
"SO": 16.0,
"HR": 0.0,
"BF": 50.0,
"Pitches": 197.0
},
"per_game": {
"IP": 2.2,
"ER": 0.0,
"R": 0.2,
"H": 1.0,
"BB": 0.8,
"SO": 3.2,
"HR": 0.0,
"BF": 10.0,
"Pitches": 39.4
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6429,
"ER_per_IP": 0.0,
"H_per_IP": 0.35714,
"BB_per_IP": 0.28571,
"SO_per_IP": 1.14286,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 24.1,
"ER": 4.0,
"R": 5.0,
"H": 15.0,
"BB": 9.0,
"SO": 33.0,
"HR": 1.0,
"BF": 95.0,
"Pitches": 376.0
},
"per_game": {
"IP": 2.1,
"ER": 0.4,
"R": 0.5,
"H": 1.5,
"BB": 0.9,
"SO": 3.3,
"HR": 0.1,
"BF": 9.5,
"Pitches": 37.6
},
"rates": {
"ERA": 1.4795,
"WHIP": 0.9863,
"ER_per_IP": 0.16438,
"H_per_IP": 0.61644,
"BB_per_IP": 0.36986,
"SO_per_IP": 1.35616,
"HR_per_IP": 0.0411
}
},
"season": {
"games": 18,
"totals": {
"IP": 36.2,
"ER": 14.0,
"R": 15.0,
"H": 27.0,
"BB": 16.0,
"SO": 45.0,
"HR": 3.0,
"BF": 152.0,
"Pitches": 602.0
},
"per_game": {
"IP": 2.0,
"ER": 0.7778,
"R": 0.8333,
"H": 1.5,
"BB": 0.8889,
"SO": 2.5,
"HR": 0.1667,
"BF": 8.4444,
"Pitches": 33.4444
},
"rates": {
"ERA": 3.4364,
"WHIP": 1.1727,
"ER_per_IP": 0.38182,
"H_per_IP": 0.73636,
"BB_per_IP": 0.43636,
"SO_per_IP": 1.22727,
"HR_per_IP": 0.08182
}
}
},
"weighted_prediction": {
"predicted_IP": 2.0,
"predicted_ER": 0.536,
"predicted_H": 1.372,
"predicted_BB": 0.701,
"predicted_SO": 2.202,
"predicted_HR": 0.142,
"predicted_ERA": 2.4462,
"predicted_WHIP": 1.0502
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5227,
"form_weight": 0.4773,
"form_reliability": 0.5912,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 7.232,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5912,
"prior_weight": 0.4088
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 2.0,
"final": 1.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.536,
"final": 0.2558,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 1.372,
"final": 1.1775,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.701,
"final": 0.3346,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 2.202,
"final": 1.5737,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0678,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.4462,
"final": 2.4462,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0502,
"final": 1.0502,
"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 | Kenley Jansen |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0066 |
| ESPN Rank | 404 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1084 |
| Avg Velo | 91.6227 |
| Avg Spin | 2613.0598 |
| 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 | 3.6000 |
| Season WHIP | 1.0667 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"opponent": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"edges": {
"quality_edge": -0.0526,
"offense_edge": -0.1219,
"opponent_offense_edge": -0.0641,
"defense_strength": 0.0396,
"opponent_defense_weakness": 0.1339,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 0.9884,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "445276",
"profile": {
"available": true,
"pitcher_id": "445276",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 55.0,
"k_percent": 32.2,
"bb_percent": 13.6,
"woba": 0.313,
"xwoba": 0.32,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 12.5,
"hard_hit_percent": 34.4,
"avg_best_speed": 75.0317,
"avg_hyper_speed": 93.9663,
"whiff_percent": 29.8,
"swing_percent": 44.7
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.2857,
"command_and_miss": 0.6021,
"regression_edge": -0.2,
"xwoba_edge": -0.3143,
"barrel_edge": -1.1556,
"hard_hit_edge": 0.5857,
"whiff_edge": 0.5571,
"bb_edge": -1.05,
"pitch_design_score": 0.1084
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "445276",
"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": 91.6226737238456,
"release_spin_rate": 2613.059824810606,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.6226737238456,
"release_spin_rate": 2613.059824810606,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6227,
"release_spin_rate": 2613.0598,
"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.1084,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.774,
"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.0066,
"sample_weight": 0.45,
"run_prevention_factor": 1.0006,
"strikeout_factor": 1.0347,
"walk_factor": 1.0378,
"homer_factor": 1.0353,
"woba_minus_xwoba": -0.007,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "445276",
"espn_id": 29630,
"player_name": "Kenley Jansen",
"team": "DET",
"role": "pitcher",
"espn_rank": 404,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 404,
"gp_value": 18.0,
"gp_rank": 143,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.8,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 7.0,
"sv_rank": 14,
"hld_value": 1.0,
"hld_rank": 178,
"ip_value": 15.0,
"ip_rank": 386,
"h_value": 9.0,
"h_rank": 435,
"er_value": 8.0,
"er_rank": 303,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 19.0,
"k_rank": 295,
"k_per_9_value": 11.400001,
"k_per_9_rank": 20,
"whip_value": 1.2,
"whip_rank": null,
"war_value": -0.03,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0003,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.017,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0159,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0156,
"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": 5,
"H": 3,
"BB": 5,
"SO": 11,
"HR": 2,
"ERA": 5.4,
"WHIP": 0.9600000000000002,
"K9": 11.880000000000003,
"HR9": 2.16,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "445276",
"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": 91.6226737238456,
"release_spin_rate": 2613.059824810606,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.6226737238456,
"release_spin_rate": 2613.059824810606,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6227,
"release_spin_rate": 2613.0598,
"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.1084,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.774,
"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.959,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3718,
"prior_weight": 0.6282
},
"role": "pitcher",
"player_id": "445276",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 1.0,
"BB": 4.0,
"SO": 4.0,
"HR": 1.0,
"BF": 19.0,
"Pitches": 79.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.2,
"BB": 0.8,
"SO": 0.8,
"HR": 0.2,
"BF": 3.8,
"Pitches": 15.8
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.0714,
"ER_per_IP": 0.64286,
"H_per_IP": 0.21429,
"BB_per_IP": 0.85714,
"SO_per_IP": 0.85714,
"HR_per_IP": 0.21429
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.1,
"ER": 5.0,
"R": 5.0,
"H": 4.0,
"BB": 7.0,
"SO": 12.0,
"HR": 2.0,
"BF": 38.0,
"Pitches": 165.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.5,
"H": 0.4,
"BB": 0.7,
"SO": 1.2,
"HR": 0.2,
"BF": 3.8,
"Pitches": 16.5
},
"rates": {
"ERA": 4.8214,
"WHIP": 1.1786,
"ER_per_IP": 0.53571,
"H_per_IP": 0.42857,
"BB_per_IP": 0.75,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.21429
}
},
"season": {
"games": 17,
"totals": {
"IP": 15.0,
"ER": 6.0,
"R": 6.0,
"H": 8.0,
"BB": 8.0,
"SO": 19.0,
"HR": 3.0,
"BF": 60.0,
"Pitches": 253.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3529,
"R": 0.3529,
"H": 0.4706,
"BB": 0.4706,
"SO": 1.1176,
"HR": 0.1765,
"BF": 3.5294,
"Pitches": 14.8824
},
"rates": {
"ERA": 3.6,
"WHIP": 1.0667,
"ER_per_IP": 0.4,
"H_per_IP": 0.53333,
"BB_per_IP": 0.53333,
"SO_per_IP": 1.26667,
"HR_per_IP": 0.2
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.503,
"predicted_H": 0.724,
"predicted_BB": 0.513,
"predicted_SO": 0.998,
"predicted_HR": 0.161,
"predicted_ERA": 4.5274,
"predicted_WHIP": 1.2362
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6154,
"form_weight": 0.3846,
"form_reliability": 0.3718,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.959,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3718,
"prior_weight": 0.6282
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.503,
"final": 1.4243,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 0.724,
"final": 2.1247,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.513,
"final": 0.1973,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.998,
"final": 0.9992,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.161,
"final": 0.6773,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.5274,
"final": 4.5274,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2362,
"final": 1.2362,
"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 Finnegan |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2041 |
| ESPN Rank | 64 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1385 |
| Avg Velo | 92.1617 |
| Avg Spin | 1828.8374 |
| 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.0519 |
| Season WHIP | 1.4026 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"opponent": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"edges": {
"quality_edge": -0.0526,
"offense_edge": -0.1219,
"opponent_offense_edge": -0.0641,
"defense_strength": 0.0396,
"opponent_defense_weakness": 0.1339,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 0.9884,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "640448",
"profile": {
"available": true,
"pitcher_id": "640448",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 100.0,
"k_percent": 14.3,
"bb_percent": 18.1,
"woba": 0.354,
"xwoba": 0.332,
"sweet_spot_percent": 26.8,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 42.3,
"avg_best_speed": 76.3643,
"avg_hyper_speed": 94.5443,
"whiff_percent": 22.3,
"swing_percent": 43.9
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.4085,
"command_and_miss": -1.1486,
"regression_edge": 0.6286,
"xwoba_edge": -0.6571,
"barrel_edge": 0.0667,
"hard_hit_edge": -0.5429,
"whiff_edge": -0.5143,
"bb_edge": -2.175,
"pitch_design_score": 0.1385
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "640448",
"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": 92.16165664501297,
"release_spin_rate": 1828.8373532301741,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.16165664501297,
"release_spin_rate": 1828.8373532301741,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1617,
"release_spin_rate": 1828.8374,
"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.1385,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9896,
"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.2041,
"sample_weight": 0.45,
"run_prevention_factor": 1.0173,
"strikeout_factor": 0.9694,
"walk_factor": 1.0783,
"homer_factor": 1.0162,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "640448",
"espn_id": 36543,
"player_name": "Kyle Finnegan",
"team": "DET",
"role": "pitcher",
"espn_rank": 64,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 64,
"gp_value": 25.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.7532,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 25.2,
"ip_rank": 196,
"h_value": 21.0,
"h_rank": 235,
"er_value": 5.0,
"er_rank": 410,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 19.0,
"bb_rank": 65,
"k_value": 15.0,
"k_rank": 351,
"k_per_9_value": 5.25974,
"k_per_9_rank": 48,
"whip_value": 1.5584,
"whip_rank": null,
"war_value": 1.06,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0078,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0078,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0352,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9862,
"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": 8,
"SO": 3,
"HR": 1,
"ERA": 1.8,
"WHIP": 1.7,
"K9": 2.7,
"HR9": 0.9,
"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-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "640448",
"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": 92.16165664501297,
"release_spin_rate": 1828.8373532301741,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.16165664501297,
"release_spin_rate": 1828.8373532301741,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1617,
"release_spin_rate": 1828.8374,
"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.1385,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9896,
"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.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5031,
"prior_weight": 0.4969
},
"role": "pitcher",
"player_id": "640448",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 4.0,
"SO": 1.0,
"HR": 1.0,
"BF": 24.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.2,
"BB": 0.8,
"SO": 0.2,
"HR": 0.2,
"BF": 4.8,
"Pitches": 17.6
},
"rates": {
"ERA": 3.6,
"WHIP": 2.0,
"ER_per_IP": 0.4,
"H_per_IP": 1.2,
"BB_per_IP": 0.8,
"SO_per_IP": 0.2,
"HR_per_IP": 0.2
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 8.0,
"SO": 4.0,
"HR": 1.0,
"BF": 46.0,
"Pitches": 164.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.8,
"SO": 0.4,
"HR": 0.1,
"BF": 4.6,
"Pitches": 16.4
},
"rates": {
"ERA": 1.6364,
"WHIP": 1.6364,
"ER_per_IP": 0.18182,
"H_per_IP": 0.90909,
"BB_per_IP": 0.72727,
"SO_per_IP": 0.36364,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 24,
"totals": {
"IP": 25.2,
"ER": 3.0,
"R": 3.0,
"H": 18.0,
"BB": 18.0,
"SO": 15.0,
"HR": 2.0,
"BF": 104.0,
"Pitches": 403.0
},
"per_game": {
"IP": 1.0,
"ER": 0.125,
"R": 0.125,
"H": 0.75,
"BB": 0.75,
"SO": 0.625,
"HR": 0.0833,
"BF": 4.3333,
"Pitches": 16.7917
},
"rates": {
"ERA": 1.0519,
"WHIP": 1.4026,
"ER_per_IP": 0.11688,
"H_per_IP": 0.7013,
"BB_per_IP": 0.7013,
"SO_per_IP": 0.58442,
"HR_per_IP": 0.07792
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.368,
"predicted_H": 0.971,
"predicted_BB": 0.563,
"predicted_SO": 0.637,
"predicted_HR": 0.134,
"predicted_ERA": 3.3164,
"predicted_WHIP": 1.5341
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5031,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5031,
"prior_weight": 0.4969
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.368,
"final": 0.1619,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.971,
"final": 0.4273,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.563,
"final": 0.2478,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.637,
"final": 0.2803,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.134,
"final": 0.059,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3164,
"final": 3.3164,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.5341,
"final": 1.5341,
"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 | Will Vest |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0769 |
| ESPN Rank | 635 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1648 |
| Avg Velo | 92.6306 |
| Avg Spin | 2285.7128 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 2 |
| Season ERA | 7.8750 |
| Season WHIP | 1.5000 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "DET",
"games": 62,
"wins": 24,
"losses": 38,
"win_pct": 0.3871,
"runs_scored": 241.0,
"runs_allowed": 264.0,
"run_differential": -23.0,
"run_differential_per_game": -0.371,
"avg_runs_scored": 3.8871,
"avg_runs_allowed": 4.2581,
"offense_index": 0.8781,
"defense_index": 1.0396,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 2,
"losses": 8,
"win_pct": 0.2,
"avg_runs_scored": 2.9,
"avg_runs_allowed": 4.1,
"run_differential": -12.0
},
"available": true,
"quality_score": -0.2471
},
"opponent": {
"team": "LAA",
"games": 63,
"wins": 26,
"losses": 37,
"win_pct": 0.4127,
"runs_scored": 261.0,
"runs_allowed": 322.0,
"run_differential": -61.0,
"run_differential_per_game": -0.9683,
"avg_runs_scored": 4.1429,
"avg_runs_allowed": 5.1111,
"offense_index": 0.9359,
"defense_index": 0.8661,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 5.3,
"run_differential": -11.0
},
"available": true,
"quality_score": -0.1945
},
"edges": {
"quality_edge": -0.0526,
"offense_edge": -0.1219,
"opponent_offense_edge": -0.0641,
"defense_strength": 0.0396,
"opponent_defense_weakness": 0.1339,
"recent_win_pct_edge": -0.3
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 0.9884,
"strikeout": 1.0035
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "676684",
"profile": {
"available": true,
"pitcher_id": "676684",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 57.0,
"k_percent": 23.6,
"bb_percent": 9.7,
"woba": 0.329,
"xwoba": 0.307,
"sweet_spot_percent": 22.9,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 33.3,
"avg_best_speed": 78.4982,
"avg_hyper_speed": 94.2568,
"whiff_percent": 29.5,
"swing_percent": 47.1
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.0629,
"command_and_miss": 0.2293,
"regression_edge": 0.6286,
"xwoba_edge": 0.0571,
"barrel_edge": -0.2667,
"hard_hit_edge": 0.7429,
"whiff_edge": 0.5143,
"bb_edge": -0.075,
"pitch_design_score": 0.1648
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "676684",
"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.63063859403452,
"release_spin_rate": 2285.7127769188014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.63063859403452,
"release_spin_rate": 2285.7127769188014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6306,
"release_spin_rate": 2285.7128,
"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.1648,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1772,
"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.0769,
"sample_weight": 0.45,
"run_prevention_factor": 0.9935,
"strikeout_factor": 1.0118,
"walk_factor": 1.0027,
"homer_factor": 0.9955,
"woba_minus_xwoba": 0.022,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "676684",
"espn_id": 41606,
"player_name": "Will Vest",
"team": "DET",
"role": "pitcher",
"espn_rank": 635,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 635,
"gp_value": 17.0,
"gp_rank": 156,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 7.875,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 4.0,
"l_rank": 31,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 5.0,
"hld_rank": 66,
"ip_value": 16.0,
"ip_rank": 370,
"h_value": 17.0,
"h_rank": 295,
"er_value": 14.0,
"er_rank": 153,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 7.0,
"bb_rank": 328,
"k_value": 17.0,
"k_rank": 319,
"k_per_9_value": 9.5625,
"k_per_9_rank": 23,
"whip_value": 1.5,
"whip_rank": null,
"war_value": -0.75,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9971,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 0.9971,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0012,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.998,
"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.1,
"ER": 9,
"H": 11,
"BB": 4,
"SO": 11,
"HR": 2,
"ERA": 7.838709677419354,
"WHIP": 1.4516129032258063,
"K9": 9.580645161290322,
"HR9": 1.7419354838709677,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "676684",
"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.63063859403452,
"release_spin_rate": 2285.7127769188014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.63063859403452,
"release_spin_rate": 2285.7127769188014,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6306,
"release_spin_rate": 2285.7128,
"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.1648,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1772,
"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.156,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3869,
"prior_weight": 0.6131
},
"role": "pitcher",
"player_id": "676684",
"report_date": "20260528_L",
"season_year": 2026,
"rows_used": 17,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 6.0,
"R": 6.0,
"H": 6.0,
"BB": 1.0,
"SO": 5.0,
"HR": 1.0,
"BF": 23.0,
"Pitches": 88.0
},
"per_game": {
"IP": 1.0,
"ER": 1.2,
"R": 1.2,
"H": 1.2,
"BB": 0.2,
"SO": 1.0,
"HR": 0.2,
"BF": 4.6,
"Pitches": 17.6
},
"rates": {
"ERA": 10.125,
"WHIP": 1.3125,
"ER_per_IP": 1.125,
"H_per_IP": 1.125,
"BB_per_IP": 0.1875,
"SO_per_IP": 0.9375,
"HR_per_IP": 0.1875
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 9.0,
"R": 11.0,
"H": 11.0,
"BB": 4.0,
"SO": 11.0,
"HR": 2.0,
"BF": 46.0,
"Pitches": 187.0
},
"per_game": {
"IP": 1.0,
"ER": 0.9,
"R": 1.1,
"H": 1.1,
"BB": 0.4,
"SO": 1.1,
"HR": 0.2,
"BF": 4.6,
"Pitches": 18.7
},
"rates": {
"ERA": 7.8387,
"WHIP": 1.4516,
"ER_per_IP": 0.87097,
"H_per_IP": 1.06452,
"BB_per_IP": 0.3871,
"SO_per_IP": 1.06452,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 17,
"totals": {
"IP": 16.0,
"ER": 14.0,
"R": 16.0,
"H": 17.0,
"BB": 7.0,
"SO": 17.0,
"HR": 2.0,
"BF": 72.0,
"Pitches": 310.0
},
"per_game": {
"IP": 1.0,
"ER": 0.8235,
"R": 0.9412,
"H": 1.0,
"BB": 0.4118,
"SO": 1.0,
"HR": 0.1176,
"BF": 4.2353,
"Pitches": 18.2353
},
"rates": {
"ERA": 7.875,
"WHIP": 1.5,
"ER_per_IP": 0.875,
"H_per_IP": 1.0625,
"BB_per_IP": 0.4375,
"SO_per_IP": 1.0625,
"HR_per_IP": 0.125
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.67,
"predicted_H": 1.0,
"predicted_BB": 0.345,
"predicted_SO": 0.968,
"predicted_HR": 0.149,
"predicted_ERA": 6.0339,
"predicted_WHIP": 1.3456
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.609,
"form_weight": 0.391,
"form_reliability": 0.3869,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.156,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3869,
"prior_weight": 0.6131
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.67,
"final": 0.2619,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.0,
"final": 0.391,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.345,
"final": 0.1349,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.968,
"final": 1.5965,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.149,
"final": 0.0583,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 6.0339,
"final": 6.0339,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3456,
"final": 1.3456,
"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.203 | 0.000 | 0.000 | Hitting_2B | 0.203 | 0.000 | -0.203 | 0.000 |
| predicted_3B | 0.013 | 0.000 | 0.000 | Hitting_3B | 0.013 | 0.000 | -0.013 | 0.000 |
| predicted_AB | 3.430 | 5.000 | 6.000 | Hitting_AB | 3.285 | 3.000 | 1.715 | 2.000 |
| predicted_AVG | 0.270 | 0.200 | 0.333 | Hitting_AVG | 0.293 | 0.667 | -0.093 | -0.467 |
| predicted_BB | 0.171 | 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.930 | 1.000 | 2.000 | Hitting_H | 0.962 | 2.000 | 0.038 | -1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.336 | 0.200 | 0.333 | Hitting_OBP | 0.332 | 0.667 | -0.132 | -0.467 |
| predicted_R | 0.418 | 1.000 | 1.000 | Hitting_R | 0.418 | 1.000 | 0.582 | 0.000 |
| predicted_RBI | 0.230 | 2.000 | 0.000 | Hitting_RBI | 0.146 | 0.000 | 1.854 | 2.000 |
| predicted_SLG | 0.401 | 0.200 | 0.333 | Hitting_SLG | 0.362 | 0.667 | -0.162 | -0.467 |
| predicted_SO | 0.797 | 0.000 | 1.000 | Hitting_SO | 0.797 | 1.000 | -0.797 | -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.2300 -> 2.0000 (boost 1.7700, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.4300 -> 6.0656 (boost 2.6356, 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.3090 -> 0.3272 (boost 0.0182, better) | - | 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_SO: 1.4272 -> 1.0000 (deboost -0.4272, better) | AB rounded to 6 (raw=6.07), rates preserved: AVG=0.327 HR/AB=0.007 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.3272 -> 0.3330 (boost 0.0058, better) | predicted_SLG: 0.4365 -> 0.3330 (deboost -0.1035, 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: 0.0000 -> 2.0000 (boost 2.0000, better) | predicted_AB: 6.0000 -> 5.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.3330 -> 0.4365 (boost 0.1035, better) | predicted_AVG: 0.3330 -> 0.3272 (deboost -0.0058, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "690993",
"player_name": "Colt Keith",
"position": "3B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.203,
"predicted_3B": 0.013,
"predicted_AB": 3.43,
"predicted_AVG": 0.27,
"predicted_BB": 0.171,
"predicted_H": 0.93,
"predicted_HR": 0.06,
"predicted_OBP": 0.336,
"predicted_R": 0.418,
"predicted_RBI": 0.23,
"predicted_SLG": 0.401,
"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.3261,
"predicted_3B": 0.1065,
"predicted_AB": 6.0656,
"predicted_AVG": 0.309,
"predicted_BB": 0.2828,
"predicted_H": 2.0102,
"predicted_HBP": 0.048,
"predicted_HR": 0.0413,
"predicted_OBP": 0.361,
"predicted_R": 0.9785,
"predicted_RBI": 0.3026,
"predicted_SLG": 0.4285,
"predicted_SO": 1.418
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.203,
"after": 0.3261,
"delta": 0.1231,
"percent_delta": 0.6064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.013,
"after": 0.1065,
"delta": 0.0935,
"percent_delta": 7.1923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.43,
"after": 6.0656,
"delta": 2.6356,
"percent_delta": 0.7684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.309,
"delta": 0.039,
"percent_delta": 0.1444,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.2828,
"delta": 0.1118,
"percent_delta": 0.6538,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 2.0102,
"delta": 1.0802,
"percent_delta": 1.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0413,
"delta": -0.0187,
"percent_delta": -0.3117,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.361,
"delta": 0.025,
"percent_delta": 0.0744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.418,
"after": 0.9785,
"delta": 0.5605,
"percent_delta": 1.3409,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 0.3026,
"delta": 0.0726,
"percent_delta": 0.3157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4285,
"delta": 0.0275,
"percent_delta": 0.0686,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.797,
"after": 1.418,
"delta": 0.621,
"percent_delta": 0.7792,
"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.43,
"after": 6.0656,
"delta": 2.6356,
"percent_delta": 0.7684,
"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": 3,
"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.3261,
"predicted_3B": 0.1065,
"predicted_AB": 6.0656,
"predicted_AVG": 0.3272,
"predicted_BB": 0.281,
"predicted_H": 1.9849,
"predicted_HBP": 0.048,
"predicted_HR": 0.0411,
"predicted_OBP": 0.357,
"predicted_R": 0.9564,
"predicted_RBI": 0.2958,
"predicted_SLG": 0.4365,
"predicted_SO": 1.4272
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3261,
"after": 0.3261,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1065,
"after": 0.1065,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.0656,
"after": 6.0656,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.309,
"after": 0.3272,
"delta": 0.0182,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2828,
"after": 0.281,
"delta": -0.0018,
"percent_delta": -0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0102,
"after": 1.9849,
"delta": -0.0253,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.048,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0413,
"after": 0.0411,
"delta": -0.0002,
"percent_delta": -0.0048,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.361,
"after": 0.357,
"delta": -0.004,
"percent_delta": -0.0111,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9785,
"after": 0.9564,
"delta": -0.0221,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.3026,
"after": 0.2958,
"delta": -0.0068,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4285,
"after": 0.4365,
"delta": 0.008,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.418,
"after": 1.4272,
"delta": 0.0092,
"percent_delta": 0.0065,
"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.309,
"after": 0.3272,
"delta": 0.0182,
"percent_delta": 0.0589,
"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.07), rates preserved: AVG=0.327 HR/AB=0.007",
"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": 0.0,
"predicted_SB": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3261,
"after": 0.0,
"delta": -0.3261,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1065,
"after": 0.0,
"delta": -0.1065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 6.0656,
"after": 6.0,
"delta": -0.0656,
"percent_delta": -0.0108,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.281,
"after": 0.0,
"delta": -0.281,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9849,
"after": 2.0,
"delta": 0.0151,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.048,
"after": 0.0,
"delta": -0.048,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0411,
"after": 0.0,
"delta": -0.0411,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2958,
"after": 0.0,
"delta": -0.2958,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4272,
"after": 1.0,
"delta": -0.4272,
"percent_delta": -0.2993,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4272,
"after": 1.0,
"delta": -0.4272,
"percent_delta": -0.2993,
"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": 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": 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.9564,
"after": 1.0,
"delta": 0.0436,
"percent_delta": 0.0456,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.333,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.333,
"predicted_R": 1.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": 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.3272,
"after": 0.333,
"delta": 0.0058,
"percent_delta": 0.0177,
"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.357,
"after": 0.333,
"delta": -0.024,
"percent_delta": -0.0672,
"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.4365,
"after": 0.333,
"delta": -0.1035,
"percent_delta": -0.2371,
"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.3272,
"after": 0.333,
"delta": 0.0058,
"percent_delta": 0.0177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4365,
"after": 0.333,
"delta": -0.1035,
"percent_delta": -0.2371,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 7,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"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": 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": 4,
"boosted_metrics": 1,
"deboosted_metrics": 3,
"better_metrics": 2,
"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": 5.0,
"delta": -1.0,
"percent_delta": -0.1667,
"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.3272,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.357,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4365,
"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": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3272,
"delta": -0.0058,
"percent_delta": -0.0173,
"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.357,
"delta": 0.024,
"percent_delta": 0.0721,
"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.333,
"after": 0.4365,
"delta": 0.1035,
"percent_delta": 0.3107,
"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.4365,
"delta": 0.1035,
"percent_delta": 0.3107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.3272,
"delta": -0.0058,
"percent_delta": -0.0173,
"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.203,
"after": 0.0,
"delta": -0.203,
"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.43,
"after": 5.0,
"delta": 1.57,
"percent_delta": 0.4577,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.27,
"after": 0.3272,
"delta": 0.0572,
"percent_delta": 0.2119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.171,
"after": 0.0,
"delta": -0.171,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.357,
"delta": 0.021,
"percent_delta": 0.0625,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.418,
"after": 1.0,
"delta": 0.582,
"percent_delta": 1.3923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.23,
"after": 2.0,
"delta": 1.77,
"percent_delta": 7.6957,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.401,
"after": 0.4365,
"delta": 0.0355,
"percent_delta": 0.0885,
"direction": "boost",
"projection_effect": "better",
"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": 11,
"boosted_metrics": 7,
"deboosted_metrics": 4,
"better_metrics": 8,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.23,
"after": 2.0,
"delta": 1.77,
"percent_delta": 7.6957,
"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": "better"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.203 | - |
| predicted_3B | 0.013 | - |
| predicted_AB | 3.430 | - |
| predicted_AVG | 0.270 | - |
| predicted_BB | 0.171 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.418 | - |
| predicted_RBI | 0.230 | - |
| predicted_SLG | 0.401 | - |
| 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.326 | 0.123 |
| predicted_3B | 0.106 | 0.093 |
| predicted_AB | 6.066 | 2.636 |
| predicted_AVG | 0.309 | 0.039 |
| predicted_BB | 0.283 | 0.112 |
| predicted_H | 2.010 | 1.080 |
| predicted_HBP | 0.048 | - |
| predicted_HR | 0.041 | -0.019 |
| predicted_OBP | 0.361 | 0.025 |
| predicted_R | 0.979 | 0.560 |
| predicted_RBI | 0.303 | 0.073 |
| predicted_SLG | 0.428 | 0.027 |
| predicted_SO | 1.418 | 0.621 |
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.326 | 0.000 |
| predicted_3B | 0.106 | 0.000 |
| predicted_AB | 6.066 | 0.000 |
| predicted_AVG | 0.327 | 0.018 |
| predicted_BB | 0.281 | -0.002 |
| predicted_H | 1.985 | -0.025 |
| predicted_HBP | 0.048 | 0.000 |
| predicted_HR | 0.041 | -0.000 |
| predicted_OBP | 0.357 | -0.004 |
| predicted_R | 0.956 | -0.022 |
| predicted_RBI | 0.296 | -0.007 |
| predicted_SLG | 0.436 | 0.008 |
| predicted_SO | 1.427 | 0.009 |
AB rounded to 6 (raw=6.07), rates preserved: AVG=0.327 HR/AB=0.007
| 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 | 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 | 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.326 |
| predicted_3B | 0.000 | -0.106 |
| predicted_AB | 6.000 | -0.066 |
| predicted_AVG | 0.333 | 0.006 |
| predicted_BB | 0.000 | -0.281 |
| predicted_H | 2.000 | 0.015 |
| predicted_HR | 0.000 | -0.041 |
| predicted_OBP | 0.333 | -0.024 |
| predicted_R | 1.000 | 0.044 |
| predicted_RBI | 0.000 | -0.296 |
| predicted_SLG | 0.333 | -0.103 |
| predicted_SO | 1.000 | -0.427 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -1.000 |
| BB | 0.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.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 | 2 | - | 13.000 | 10.000 | 0.000 | 2.000 | 0.000 | 0.000 | 7.000 | 0.000 | 3.000 | 0.7692 | 0.7692 | 1.0769 | 0.7692 | 0.0000 | 0.0000 | 0.0000 | 0.2308 |
| last_10 | 0.20 | 3 | - | 23.000 | 15.000 | 0.000 | 2.000 | 0.000 | 0.000 | 7.000 | 0.000 | 3.000 | 0.6522 | 0.6522 | 0.8261 | 0.6522 | 0.0000 | 0.0000 | 0.0000 | 0.1304 |
| season | 0.60 | 50 | - | 519.000 | 152.000 | 32.000 | 2.000 | 0.000 | 23.000 | 66.000 | 27.000 | 126.000 | 0.2929 | 0.3315 | 0.3622 | 0.2929 | 0.0000 | 0.0443 | 0.0520 | 0.2428 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4860 |
| predicted_3B | 0.2280 |
| predicted_AB | 9.4910 |
| predicted_AVG | 0.3598 |
| predicted_BB | 0.4280 |
| predicted_H | 3.4140 |
| predicted_HBP | 0.0480 |
| predicted_HR | 0.0170 |
| predicted_OBP | 0.3936 |
| predicted_R | 1.7070 |
| predicted_RBI | 0.3970 |
| predicted_SLG | 0.4643 |
| predicted_SO | 2.2250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2030 | 0.4860 | 0.3261 | model_form_blend |
| predicted_3B | 0.0130 | 0.2280 | 0.1065 | model_form_blend |
| predicted_AB | 3.4300 | 9.4910 | 6.0656 | model_form_blend |
| predicted_AVG | 0.2700 | 0.3598 | 0.3090 | model_form_blend |
| predicted_BB | 0.1710 | 0.4280 | 0.2828 | model_form_blend |
| predicted_H | 0.9300 | 3.4140 | 2.0102 | model_form_blend |
| predicted_HBP | - | 0.0480 | 0.0480 | form_only |
| predicted_HR | 0.0600 | 0.0170 | 0.0413 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3936 | 0.3610 | model_form_blend |
| predicted_R | 0.4180 | 1.7070 | 0.9785 | model_form_blend |
| predicted_RBI | 0.2300 | 0.3970 | 0.3026 | model_form_blend |
| predicted_SLG | 0.4010 | 0.4643 | 0.4285 | model_form_blend |
| predicted_SO | 0.7970 | 2.2250 | 1.4180 | 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 | 158 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 0 |
| 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.667 |
| 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 | 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 | 3B |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 690993 |
| playerID | 690993 |
| playerName | Colt Keith |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 21.4 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.307 |
| sl_xwoba | 0.306 |
| sl_xba | 0.265 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 5.2 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 13.7 |
| sl_whiff_percent | 22.8 |
| sl_swing_percent | 43.1 |
| at_bat_number | 36.0 |
| ab_pitcher | 667755.0 |
| ab_pitcher_name | Soriano, José |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 5.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Colt Keith strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FS |
| ab_pitch_name_last | Split-Finger |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 75.3 |
| ab_launch_angle_last | 52.0 |
| ab_hit_distance_last | 212.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 | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 92.45 |
| ab_release_spin_rate_avg | 1917.6666666666667 |
| ab_effective_speed_avg | 93.5 |
| ab_launch_speed_avg | 75.3 |
| ab_launch_angle_avg | 52.0 |
| ab_delta_run_exp_avg | -0.0426666666666666 |
| ab_delta_home_win_exp_avg | -0.0018333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0426666666666666 |
| ab_bat_speed_avg | 73.05 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 75.3 |
| ab_hit_distance_sc_max | 212.0 |
| ab_release_speed_max | 96.0 |
| ab_release_spin_rate_max | 2477.0 |
| ab_release_speed_min | 85.9 |
| ab_release_spin_rate_min | 1570.0 |
| ab_delta_run_exp_sum | -0.2559999999999999 |
| ab_delta_home_win_exp_sum | -0.011 |
| ab_delta_pitcher_run_exp_sum | 0.2559999999999999 |
| 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.283 | 0.000 | 1.000 | Hitting_2B | 0.283 | 0.000 | -0.283 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.820 | 4.000 | 8.000 | Hitting_AB | 3.635 | 4.000 | 0.365 | 0.000 |
| predicted_AVG | 0.244 | 0.250 | 0.250 | Hitting_AVG | 0.310 | 0.250 | -0.060 | 0.000 |
| predicted_BB | 0.574 | 0.000 | 1.000 | Hitting_BB | 0.574 | 0.000 | -0.574 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_H | 0.930 | 1.000 | 2.000 | Hitting_H | 1.126 | 1.000 | -0.126 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.074 | 0.000 | -0.074 | 0.000 |
| predicted_OBP | 0.336 | 0.250 | 0.333 | Hitting_OBP | 0.409 | 0.250 | -0.159 | 0.000 |
| predicted_R | 0.570 | 1.000 | 1.000 | Hitting_R | 0.570 | 0.000 | 0.430 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.483 | 1.000 | -0.483 | -1.000 |
| predicted_SLG | 0.382 | 0.250 | 0.375 | Hitting_SLG | 0.449 | 0.250 | -0.199 | 0.000 |
| predicted_SO | 1.196 | 0.000 | 3.000 | Hitting_SO | 1.196 | 2.000 | -1.196 | -2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_R: 0.5700 -> 1.0000 (boost 0.4300, better) |
| Biggest Deboost | predicted_SO: 1.1960 -> 0.0000 (deboost -1.1960, 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.8200 -> 8.3374 (boost 4.5174, 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.3587 -> 0.3694 (boost 0.0107, 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_2B: 0.5570 -> 1.0000 (boost 0.4430, better) | predicted_AB: 8.3374 -> 8.0000 (deboost -0.3374, worse) | AB rounded to 8 (raw=8.34), rates preserved: AVG=0.272 HR/AB=0.020 |
| 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.1023 -> 1.0000 (deboost -0.1023, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3694 -> 0.3330 (deboost -0.0364, 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_OBP: 0.3330 -> 0.3694 (boost 0.0364, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682985",
"player_name": "Riley Greene",
"position": "LF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.283,
"predicted_3B": 0.0,
"predicted_AB": 3.82,
"predicted_AVG": 0.244,
"predicted_BB": 0.574,
"predicted_H": 0.93,
"predicted_HR": 0.1,
"predicted_OBP": 0.336,
"predicted_R": 0.57,
"predicted_RBI": 0.41,
"predicted_SLG": 0.382,
"predicted_SO": 1.196
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.557,
"predicted_3B": 0.0009,
"predicted_AB": 8.3374,
"predicted_AVG": 0.2629,
"predicted_BB": 1.2929,
"predicted_H": 2.2984,
"predicted_HBP": 0.113,
"predicted_HR": 0.164,
"predicted_OBP": 0.3587,
"predicted_R": 1.1278,
"predicted_RBI": 1.0984,
"predicted_SLG": 0.3916,
"predicted_SO": 2.902
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.283,
"after": 0.557,
"delta": 0.274,
"percent_delta": 0.9682,
"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.82,
"after": 8.3374,
"delta": 4.5174,
"percent_delta": 1.1826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2629,
"delta": 0.0189,
"percent_delta": 0.0775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 1.2929,
"delta": 0.7189,
"percent_delta": 1.2524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 2.2984,
"delta": 1.3684,
"percent_delta": 1.4714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.164,
"delta": 0.064,
"percent_delta": 0.64,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3587,
"delta": 0.0227,
"percent_delta": 0.0676,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.57,
"after": 1.1278,
"delta": 0.5578,
"percent_delta": 0.9786,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0984,
"delta": 0.6884,
"percent_delta": 1.679,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.382,
"after": 0.3916,
"delta": 0.0096,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 2.902,
"delta": 1.706,
"percent_delta": 1.4264,
"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.82,
"after": 8.3374,
"delta": 4.5174,
"percent_delta": 1.1826,
"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": 3,
"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.557,
"predicted_3B": 0.0009,
"predicted_AB": 8.3374,
"predicted_AVG": 0.2722,
"predicted_BB": 1.2845,
"predicted_H": 2.2694,
"predicted_HBP": 0.113,
"predicted_HR": 0.1634,
"predicted_OBP": 0.3694,
"predicted_R": 1.1023,
"predicted_RBI": 1.0736,
"predicted_SLG": 0.398,
"predicted_SO": 2.9209
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.557,
"after": 0.557,
"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.3374,
"after": 8.3374,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2629,
"after": 0.2722,
"delta": 0.0093,
"percent_delta": 0.0354,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2929,
"after": 1.2845,
"delta": -0.0084,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2984,
"after": 2.2694,
"delta": -0.029,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.164,
"after": 0.1634,
"delta": -0.0006,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3587,
"after": 0.3694,
"delta": 0.0107,
"percent_delta": 0.0298,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1278,
"after": 1.1023,
"delta": -0.0255,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0984,
"after": 1.0736,
"delta": -0.0248,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3916,
"after": 0.398,
"delta": 0.0064,
"percent_delta": 0.0163,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.902,
"after": 2.9209,
"delta": 0.0189,
"percent_delta": 0.0065,
"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.3587,
"after": 0.3694,
"delta": 0.0107,
"percent_delta": 0.0298,
"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.34), rates preserved: AVG=0.272 HR/AB=0.020",
"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.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"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": 8.3374,
"after": 8.0,
"delta": -0.3374,
"percent_delta": -0.0405,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.2845,
"after": 1.0,
"delta": -0.2845,
"percent_delta": -0.2215,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2694,
"after": 2.0,
"delta": -0.2694,
"percent_delta": -0.1187,
"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.1634,
"after": 0.0,
"delta": -0.1634,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0736,
"after": 1.0,
"delta": -0.0736,
"percent_delta": -0.0686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.9209,
"after": 3.0,
"delta": 0.0791,
"percent_delta": 0.0271,
"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_2B",
"before": 0.557,
"after": 1.0,
"delta": 0.443,
"percent_delta": 0.7953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.3374,
"after": 8.0,
"delta": -0.3374,
"percent_delta": -0.0405,
"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": 1.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": 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_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.9429,
"bvp": 0.0571
},
"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": 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": 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.1023,
"after": 1.0,
"delta": -0.1023,
"percent_delta": -0.0928,
"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.1023,
"after": 1.0,
"delta": -0.1023,
"percent_delta": -0.0928,
"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": 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": 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.2722,
"after": 0.25,
"delta": -0.0222,
"percent_delta": -0.0816,
"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.3694,
"after": 0.333,
"delta": -0.0364,
"percent_delta": -0.0985,
"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.398,
"after": 0.375,
"delta": -0.023,
"percent_delta": -0.0578,
"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_OBP",
"before": 0.3694,
"after": 0.333,
"delta": -0.0364,
"percent_delta": -0.0985,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 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": 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": 0.0,
"delta": -3.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.2722,
"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.3694,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.398,
"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.2722,
"delta": 0.0222,
"percent_delta": 0.0888,
"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.3694,
"delta": 0.0364,
"percent_delta": 0.1092,
"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.398,
"delta": 0.023,
"percent_delta": 0.0613,
"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.333,
"after": 0.3694,
"delta": 0.0364,
"percent_delta": 0.1092,
"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.283,
"after": 0.0,
"delta": -0.283,
"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.82,
"after": 4.0,
"delta": 0.18,
"percent_delta": 0.0471,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.244,
"after": 0.2722,
"delta": 0.0282,
"percent_delta": 0.1156,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.574,
"after": 0.0,
"delta": -0.574,
"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.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.3694,
"delta": 0.0334,
"percent_delta": 0.0994,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"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.382,
"after": 0.398,
"delta": 0.016,
"percent_delta": 0.0419,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.196,
"after": 0.0,
"delta": -1.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.57,
"after": 1.0,
"delta": 0.43,
"percent_delta": 0.7544,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.196,
"after": 0.0,
"delta": -1.196,
"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.283 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.820 | - |
| predicted_AVG | 0.244 | - |
| predicted_BB | 0.574 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.570 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.382 | - |
| predicted_SO | 1.196 | - |
Final model 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.557 | 0.274 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.337 | 4.517 |
| predicted_AVG | 0.263 | 0.019 |
| predicted_BB | 1.293 | 0.719 |
| predicted_H | 2.298 | 1.368 |
| predicted_HBP | 0.113 | - |
| predicted_HR | 0.164 | 0.064 |
| predicted_OBP | 0.359 | 0.023 |
| predicted_R | 1.128 | 0.558 |
| predicted_RBI | 1.098 | 0.688 |
| predicted_SLG | 0.392 | 0.010 |
| predicted_SO | 2.902 | 1.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.557 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.337 | 0.000 |
| predicted_AVG | 0.272 | 0.009 |
| predicted_BB | 1.284 | -0.008 |
| predicted_H | 2.269 | -0.029 |
| predicted_HBP | 0.113 | 0.000 |
| predicted_HR | 0.163 | -0.001 |
| predicted_OBP | 0.369 | 0.011 |
| predicted_R | 1.102 | -0.025 |
| predicted_RBI | 1.074 | -0.025 |
| predicted_SLG | 0.398 | 0.006 |
| predicted_SO | 2.921 | 0.019 |
AB rounded to 8 (raw=8.34), rates preserved: AVG=0.272 HR/AB=0.020
| 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 | - |
Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200)
| 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 |
| 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 | 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 | 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.443 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.337 |
| predicted_AVG | 0.250 | -0.022 |
| predicted_BB | 1.000 | -0.284 |
| predicted_H | 2.000 | -0.269 |
| predicted_HR | 0.000 | -0.163 |
| predicted_OBP | 0.333 | -0.036 |
| predicted_R | 1.000 | -0.102 |
| predicted_RBI | 1.000 | -0.074 |
| predicted_SLG | 0.375 | -0.023 |
| predicted_SO | 3.000 | 0.079 |
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 | 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 | -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 | 2 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 2.000 | 10.000 | 0.2105 | 0.2857 | 0.2105 | 0.2105 | 0.0000 | 0.2105 | 0.1053 | 0.5263 |
| last_10 | 0.20 | 3 | - | 35.000 | 4.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 10.000 | 20.000 | 0.1143 | 0.3111 | 0.1143 | 0.1143 | 0.0000 | 0.1143 | 0.2857 | 0.5714 |
| season | 0.60 | 55 | - | 836.000 | 259.000 | 65.000 | 0.000 | 17.000 | 111.000 | 131.000 | 132.000 | 275.000 | 0.3098 | 0.4088 | 0.4486 | 0.3098 | 0.0203 | 0.1328 | 0.1579 | 0.3290 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9040 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.0570 |
| predicted_AVG | 0.2868 |
| predicted_BB | 2.2030 |
| predicted_H | 4.0310 |
| predicted_HBP | 0.1130 |
| predicted_HR | 0.2450 |
| predicted_OBP | 0.3874 |
| predicted_R | 1.8340 |
| predicted_RBI | 1.9700 |
| predicted_SLG | 0.4037 |
| predicted_SO | 5.0620 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2830 | 0.9040 | 0.5570 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8200 | 14.0570 | 8.3374 | model_form_blend |
| predicted_AVG | 0.2440 | 0.2868 | 0.2629 | model_form_blend |
| predicted_BB | 0.5740 | 2.2030 | 1.2929 | model_form_blend |
| predicted_H | 0.9300 | 4.0310 | 2.2984 | model_form_blend |
| predicted_HBP | - | 0.1130 | 0.1130 | form_only |
| predicted_HR | 0.1000 | 0.2450 | 0.1640 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3874 | 0.3587 | model_form_blend |
| predicted_R | 0.5700 | 1.8340 | 1.1278 | model_form_blend |
| predicted_RBI | 0.4100 | 1.9700 | 1.0984 | model_form_blend |
| predicted_SLG | 0.3820 | 0.4037 | 0.3916 | model_form_blend |
| predicted_SO | 1.1960 | 5.0620 | 2.9020 | 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 | 230 |
| Season rows before report date | 230 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.31 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | LF |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 682985 |
| playerID | 682985 |
| playerName | Riley Greene |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 27.6 |
| sl_bb_percent | 13.2 |
| sl_woba | 0.381 |
| sl_xwoba | 0.373 |
| sl_xba | 0.27 |
| sl_xslg | 0.482 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 12.8 |
| sl_hard_hit_percent | 50.4 |
| sl_exit_velocity_avg | 90.6 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 43.8 |
| at_bat_number | 54.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 693307.0 |
| ab_on_3b_start | 805808.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Riley Greene strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 43.0 |
| ab_launch_angle_last | -15.0 |
| ab_hit_distance_last | 6.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 | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 77.98 |
| ab_release_spin_rate_avg | 2023.0 |
| ab_effective_speed_avg | 79.1 |
| ab_launch_speed_avg | 43.0 |
| ab_launch_angle_avg | -15.0 |
| ab_delta_run_exp_avg | -0.0945999999999999 |
| ab_delta_home_win_exp_avg | 0.0013999999999999 |
| ab_delta_pitcher_run_exp_avg | 0.0945999999999999 |
| ab_bat_speed_avg | 77.36666666666667 |
| ab_swing_length_avg | 7.8 |
| ab_launch_speed_max | 43.0 |
| ab_hit_distance_sc_max | 6.0 |
| ab_release_speed_max | 80.2 |
| ab_release_spin_rate_max | 2294.0 |
| ab_release_speed_min | 74.9 |
| ab_release_spin_rate_min | 1642.0 |
| ab_delta_run_exp_sum | -0.473 |
| ab_delta_home_win_exp_sum | 0.0069999999999999 |
| ab_delta_pitcher_run_exp_sum | 0.473 |
| 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.229 | 0.000 | 1.000 | Hitting_2B | 0.229 | 1.000 | -0.229 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.950 | 4.000 | 8.000 | Hitting_AB | 3.726 | 3.000 | 0.274 | 1.000 |
| predicted_AVG | 0.240 | 0.500 | 0.250 | Hitting_AVG | 0.247 | 0.667 | 0.253 | -0.167 |
| predicted_BB | 0.398 | 0.000 | 1.000 | Hitting_BB | 0.398 | 1.000 | -0.398 | -1.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.920 | 2.000 | 1.080 | 0.000 |
| predicted_HR | 0.210 | 2.000 | 0.000 | Hitting_HR | 0.239 | 0.000 | 1.761 | 2.000 |
| predicted_OBP | 0.335 | 0.500 | 0.333 | Hitting_OBP | 0.334 | 0.750 | 0.166 | -0.250 |
| predicted_R | 0.448 | 1.000 | 1.000 | Hitting_R | 0.448 | 0.000 | 0.552 | 1.000 |
| predicted_RBI | 0.620 | 3.000 | 1.000 | Hitting_RBI | 0.726 | 1.000 | 2.274 | 2.000 |
| predicted_SLG | 0.477 | 2.000 | 0.375 | Hitting_SLG | 0.501 | 1.000 | 1.499 | 1.000 |
| predicted_SO | 0.866 | 0.000 | 2.000 | Hitting_SO | 0.866 | 0.000 | -0.866 | 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_RBI: 0.6200 -> 3.0000 (boost 2.3800, better) |
| Biggest Deboost | predicted_SO: 0.8660 -> 0.0000 (deboost -0.8660, 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.9500 -> 8.2734 (boost 4.3234, 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.2579 -> 0.2666 (boost 0.0087, 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_2B: 0.6549 -> 1.0000 (boost 0.3451, better) | predicted_RBI: 1.5285 -> 1.0000 (deboost -0.5285, worse) | AB rounded to 8 (raw=8.27), rates preserved: AVG=0.267 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8546 -> 1.0000 (boost 0.1454, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5077 -> 0.3750 (deboost -0.1327, worse) | 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 -> 2.0000 (boost 2.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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3750 -> 0.5077 (boost 0.1327, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "693307",
"player_name": "Dillon Dingler",
"position": "DH",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.95,
"predicted_AVG": 0.24,
"predicted_BB": 0.398,
"predicted_H": 0.95,
"predicted_HR": 0.21,
"predicted_OBP": 0.335,
"predicted_R": 0.448,
"predicted_RBI": 0.62,
"predicted_SLG": 0.477,
"predicted_SO": 0.866
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.6549,
"predicted_3B": 0.0009,
"predicted_AB": 8.2734,
"predicted_AVG": 0.2579,
"predicted_BB": 1.183,
"predicted_H": 2.2335,
"predicted_HBP": 0.271,
"predicted_HR": 0.448,
"predicted_OBP": 0.3547,
"predicted_R": 0.8744,
"predicted_RBI": 1.5638,
"predicted_SLG": 0.5009,
"predicted_SO": 1.8591
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.229,
"after": 0.6549,
"delta": 0.4259,
"percent_delta": 1.8598,
"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.95,
"after": 8.2734,
"delta": 4.3234,
"percent_delta": 1.0945,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2579,
"delta": 0.0179,
"percent_delta": 0.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 1.183,
"delta": 0.785,
"percent_delta": 1.9724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.2335,
"delta": 1.2835,
"percent_delta": 1.3511,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 0.448,
"delta": 0.238,
"percent_delta": 1.1333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3547,
"delta": 0.0197,
"percent_delta": 0.0588,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 0.8744,
"delta": 0.4264,
"percent_delta": 0.9518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.5638,
"delta": 0.9438,
"percent_delta": 1.5223,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.5009,
"delta": 0.0239,
"percent_delta": 0.0501,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 1.8591,
"delta": 0.9931,
"percent_delta": 1.1468,
"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": 8.2734,
"delta": 4.3234,
"percent_delta": 1.0945,
"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": 3,
"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.6549,
"predicted_3B": 0.0009,
"predicted_AB": 8.2734,
"predicted_AVG": 0.2666,
"predicted_BB": 1.1753,
"predicted_H": 2.2054,
"predicted_HBP": 0.271,
"predicted_HR": 0.4463,
"predicted_OBP": 0.3578,
"predicted_R": 0.8546,
"predicted_RBI": 1.5285,
"predicted_SLG": 0.5077,
"predicted_SO": 1.8712
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6549,
"after": 0.6549,
"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.2734,
"after": 8.2734,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2579,
"after": 0.2666,
"delta": 0.0087,
"percent_delta": 0.0337,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.183,
"after": 1.1753,
"delta": -0.0077,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2335,
"after": 2.2054,
"delta": -0.0281,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.271,
"after": 0.271,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.448,
"after": 0.4463,
"delta": -0.0017,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3547,
"after": 0.3578,
"delta": 0.0031,
"percent_delta": 0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8744,
"after": 0.8546,
"delta": -0.0198,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5638,
"after": 1.5285,
"delta": -0.0353,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5009,
"after": 0.5077,
"delta": 0.0068,
"percent_delta": 0.0136,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8591,
"after": 1.8712,
"delta": 0.0121,
"percent_delta": 0.0065,
"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.2579,
"after": 0.2666,
"delta": 0.0087,
"percent_delta": 0.0337,
"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.27), rates preserved: AVG=0.267 HR/AB=0.054",
"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.6549,
"after": 1.0,
"delta": 0.3451,
"percent_delta": 0.527,
"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": 8.2734,
"after": 8.0,
"delta": -0.2734,
"percent_delta": -0.033,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1753,
"after": 1.0,
"delta": -0.1753,
"percent_delta": -0.1492,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2054,
"after": 2.0,
"delta": -0.2054,
"percent_delta": -0.0931,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.271,
"after": 0.0,
"delta": -0.271,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4463,
"after": 0.0,
"delta": -0.4463,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5285,
"after": 1.0,
"delta": -0.5285,
"percent_delta": -0.3458,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8712,
"after": 2.0,
"delta": 0.1288,
"percent_delta": 0.0688,
"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_2B",
"before": 0.6549,
"after": 1.0,
"delta": 0.3451,
"percent_delta": 0.527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5285,
"after": 1.0,
"delta": -0.5285,
"percent_delta": -0.3458,
"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.8546,
"after": 1.0,
"delta": 0.1454,
"percent_delta": 0.1701,
"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.8546,
"after": 1.0,
"delta": 0.1454,
"percent_delta": 0.1701,
"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.2666,
"after": 0.25,
"delta": -0.0166,
"percent_delta": -0.0623,
"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.3578,
"after": 0.333,
"delta": -0.0248,
"percent_delta": -0.0693,
"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.5077,
"after": 0.375,
"delta": -0.1327,
"percent_delta": -0.2614,
"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.5077,
"after": 0.375,
"delta": -0.1327,
"percent_delta": -0.2614,
"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": 2.0,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 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": 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": 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": 3.0,
"delta": 2.0,
"percent_delta": 2.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 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": 2.0,
"delta": 2.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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.2666,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_DH": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 2.0,
"predicted_OBP": 0.3578,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5077,
"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.2666,
"delta": 0.0166,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3578,
"delta": 0.0248,
"percent_delta": 0.0744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.375,
"after": 0.5077,
"delta": 0.1327,
"percent_delta": 0.354,
"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.5077,
"delta": 0.1327,
"percent_delta": 0.354,
"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.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": 4.0,
"delta": 0.05,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2666,
"delta": 0.0266,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.398,
"after": 0.0,
"delta": -0.398,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.95,
"after": 2.0,
"delta": 1.05,
"percent_delta": 1.1053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.21,
"after": 2.0,
"delta": 1.79,
"percent_delta": 8.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.335,
"after": 0.3578,
"delta": 0.0228,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.448,
"after": 1.0,
"delta": 0.552,
"percent_delta": 1.2321,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 3.0,
"delta": 2.38,
"percent_delta": 3.8387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.477,
"after": 0.5077,
"delta": 0.0307,
"percent_delta": 0.0644,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.866,
"after": 0.0,
"delta": -0.866,
"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.62,
"after": 3.0,
"delta": 2.38,
"percent_delta": 3.8387,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.866,
"after": 0.0,
"delta": -0.866,
"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.229 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.950 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.398 | - |
| predicted_H | 0.950 | - |
| predicted_HR | 0.210 | - |
| predicted_OBP | 0.335 | - |
| predicted_R | 0.448 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.477 | - |
| predicted_SO | 0.866 | - |
Final model 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.655 | 0.426 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.273 | 4.323 |
| predicted_AVG | 0.258 | 0.018 |
| predicted_BB | 1.183 | 0.785 |
| predicted_H | 2.233 | 1.283 |
| predicted_HBP | 0.271 | - |
| predicted_HR | 0.448 | 0.238 |
| predicted_OBP | 0.355 | 0.020 |
| predicted_R | 0.874 | 0.426 |
| predicted_RBI | 1.564 | 0.944 |
| predicted_SLG | 0.501 | 0.024 |
| predicted_SO | 1.859 | 0.993 |
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.655 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.273 | 0.000 |
| predicted_AVG | 0.267 | 0.009 |
| predicted_BB | 1.175 | -0.008 |
| predicted_H | 2.205 | -0.028 |
| predicted_HBP | 0.271 | 0.000 |
| predicted_HR | 0.446 | -0.002 |
| predicted_OBP | 0.358 | 0.003 |
| predicted_R | 0.855 | -0.020 |
| predicted_RBI | 1.528 | -0.035 |
| predicted_SLG | 0.508 | 0.007 |
| predicted_SO | 1.871 | 0.012 |
AB rounded to 8 (raw=8.27), rates preserved: AVG=0.267 HR/AB=0.054
| 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.345 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.273 |
| predicted_AVG | 0.250 | -0.017 |
| predicted_BB | 1.000 | -0.175 |
| predicted_H | 2.000 | -0.205 |
| predicted_HR | 0.000 | -0.446 |
| predicted_OBP | 0.333 | -0.025 |
| predicted_R | 1.000 | 0.145 |
| predicted_RBI | 1.000 | -0.528 |
| predicted_SLG | 0.375 | -0.133 |
| predicted_SO | 2.000 | 0.129 |
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 | 2.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 2.000 | 2.000 |
| PA | 4.000 | - |
| R | 1.000 | 0.000 |
| RBI | 3.000 | 2.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 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 | - | 15.000 | 8.000 | 4.000 | 0.000 | 0.000 | 4.000 | 0.000 | 6.000 | 2.000 | 0.5333 | 0.6667 | 0.8000 | 0.5333 | 0.0000 | 0.2667 | 0.4000 | 0.1333 |
| last_10 | 0.20 | 3 | - | 30.000 | 9.000 | 4.000 | 0.000 | 1.000 | 6.000 | 1.000 | 15.000 | 10.000 | 0.3000 | 0.5333 | 0.5333 | 0.3000 | 0.0333 | 0.2000 | 0.5000 | 0.3333 |
| season | 0.60 | 49 | - | 749.000 | 185.000 | 46.000 | 0.000 | 48.000 | 146.000 | 90.000 | 80.000 | 174.000 | 0.2470 | 0.3341 | 0.5007 | 0.2470 | 0.0641 | 0.1949 | 0.1068 | 0.2323 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1970 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.7760 |
| predicted_AVG | 0.2807 |
| predicted_BB | 2.1820 |
| predicted_H | 3.8670 |
| predicted_HBP | 0.2710 |
| predicted_HR | 0.7510 |
| predicted_OBP | 0.3798 |
| predicted_R | 1.4170 |
| predicted_RBI | 2.7650 |
| predicted_SLG | 0.5314 |
| predicted_SO | 3.1230 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2290 | 1.1970 | 0.6549 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9500 | 13.7760 | 8.2734 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2807 | 0.2579 | model_form_blend |
| predicted_BB | 0.3980 | 2.1820 | 1.1830 | model_form_blend |
| predicted_H | 0.9500 | 3.8670 | 2.2335 | model_form_blend |
| predicted_HBP | - | 0.2710 | 0.2710 | form_only |
| predicted_HR | 0.2100 | 0.7510 | 0.4480 | model_form_blend |
| predicted_OBP | 0.3350 | 0.3798 | 0.3547 | model_form_blend |
| predicted_R | 0.4480 | 1.4170 | 0.8744 | model_form_blend |
| predicted_RBI | 0.6200 | 2.7650 | 1.5638 | model_form_blend |
| predicted_SLG | 0.4770 | 0.5314 | 0.5009 | model_form_blend |
| predicted_SO | 0.8660 | 3.1230 | 1.8591 | 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 | 201 |
| Season rows before report date | 201 |
| Report year | 2026 |
| Profile rows used | 201 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 2 |
| R | 1 |
| RBI | 3 |
| BB | 0 |
| SO | 0 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | C |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 693307 |
| playerID | 693307 |
| playerName | Dillon Dingler |
| pos | C |
| started | True |
| startingPosition | C |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 21.5 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.339 |
| sl_xwoba | 0.388 |
| sl_xba | 0.285 |
| sl_xslg | 0.536 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 49.6 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 21.3 |
| sl_swing_percent | 47.8 |
| at_bat_number | 53.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 805808.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | double |
| ab_event_description | Dillon Dingler doubles (11) on a line drive to center fielder Mike Trout. Kevin McGonigle to 3rd. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 92.3 |
| ab_launch_angle_last | 12.0 |
| ab_hit_distance_last | 193.0 |
| ab_estimated_ba_last | 0.806 |
| ab_estimated_woba_last | 0.78 |
| ab_estimated_slg_last | 0.941 |
| ab_woba_value | 1.25 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 1.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 85.525 |
| ab_release_spin_rate_avg | 2017.5 |
| ab_effective_speed_avg | 86.95 |
| ab_launch_speed_avg | 74.96666666666667 |
| ab_launch_angle_avg | 32.666666666666664 |
| ab_delta_run_exp_avg | 0.20375 |
| ab_delta_home_win_exp_avg | 0.00525 |
| ab_delta_pitcher_run_exp_avg | -0.20375 |
| ab_bat_speed_avg | 69.39999999999999 |
| ab_swing_length_avg | 7.466666666666666 |
| ab_launch_speed_max | 92.3 |
| ab_hit_distance_sc_max | 193.0 |
| ab_release_speed_max | 88.9 |
| ab_release_spin_rate_max | 2196.0 |
| ab_release_speed_min | 77.7 |
| ab_release_spin_rate_min | 1600.0 |
| ab_delta_run_exp_sum | 0.8150000000000001 |
| ab_delta_home_win_exp_sum | 0.021 |
| ab_delta_pitcher_run_exp_sum | -0.8150000000000001 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.234 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.060 | 0.000 | 0.000 | Hitting_3B | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_AB | 4.200 | 3.000 | 9.000 | Hitting_AB | 3.830 | 3.000 | -0.830 | 0.000 |
| predicted_AVG | 0.267 | 0.000 | 0.333 | Hitting_AVG | 0.306 | 0.667 | -0.306 | -0.667 |
| predicted_BB | 0.609 | 1.000 | 2.000 | Hitting_BB | 0.609 | 1.000 | 0.391 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.120 | 0.000 | 3.000 | Hitting_H | 1.170 | 2.000 | -1.170 | -2.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.060 | 0.000 | -0.060 | 0.000 |
| predicted_OBP | 0.389 | 0.250 | 0.455 | Hitting_OBP | 0.406 | 0.750 | -0.156 | -0.500 |
| predicted_R | 0.664 | 1.000 | 2.000 | Hitting_R | 0.664 | 2.000 | 0.336 | -1.000 |
| predicted_RBI | 0.550 | 0.000 | 1.000 | Hitting_RBI | 0.455 | 0.000 | -0.455 | 0.000 |
| predicted_SLG | 0.459 | 0.000 | 0.333 | Hitting_SLG | 0.444 | 0.667 | -0.444 | -0.667 |
| predicted_SO | 0.545 | 2.000 | 1.000 | Hitting_SO | 0.545 | 0.000 | 1.455 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 12 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 6 |
| Better Metrics | 5 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_SO: 0.5450 -> 2.0000 (boost 1.4550, worse) |
| Biggest Deboost | predicted_AB: 4.2000 -> 3.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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2000 -> 9.1400 (boost 4.9400, 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_AVG: 0.3102 -> 0.3353 (boost 0.0251, better) | - | 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_BB: 1.5406 -> 2.0000 (boost 0.4594, better) | predicted_2B: 0.4762 -> 0.0000 (deboost -0.4762, worse) | AB rounded to 9 (raw=9.14), rates preserved: AVG=0.335 HR/AB=0.018 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.8618 -> 2.0000 (boost 0.1382, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.4312 -> 0.4550 (boost 0.0238, better) | predicted_SLG: 0.4887 -> 0.3330 (deboost -0.1557, 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: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 1 | 1 | 1 | 1 | predicted_SLG: 0.3330 -> 0.4887 (boost 0.1557, better) | predicted_OBP: 0.4550 -> 0.4312 (deboost -0.0238, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805808",
"player_name": "Kevin McGonigle",
"position": "SS",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.234,
"predicted_3B": 0.06,
"predicted_AB": 4.2,
"predicted_AVG": 0.267,
"predicted_BB": 0.609,
"predicted_H": 1.12,
"predicted_HR": 0.13,
"predicted_OBP": 0.389,
"predicted_R": 0.664,
"predicted_RBI": 0.55,
"predicted_SLG": 0.459,
"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.4762,
"predicted_3B": 0.2169,
"predicted_AB": 9.14,
"predicted_AVG": 0.3102,
"predicted_BB": 1.5507,
"predicted_H": 3.1041,
"predicted_HBP": 0.128,
"predicted_HR": 0.1645,
"predicted_OBP": 0.4202,
"predicted_R": 1.9048,
"predicted_RBI": 1.2005,
"predicted_SLG": 0.4816,
"predicted_SO": 1.1287
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.4762,
"delta": 0.2422,
"percent_delta": 1.035,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.06,
"after": 0.2169,
"delta": 0.1569,
"percent_delta": 2.615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 4.2,
"after": 9.14,
"delta": 4.94,
"percent_delta": 1.1762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.3102,
"delta": 0.0432,
"percent_delta": 0.1618,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.609,
"after": 1.5507,
"delta": 0.9417,
"percent_delta": 1.5463,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.12,
"after": 3.1041,
"delta": 1.9841,
"percent_delta": 1.7715,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.1645,
"delta": 0.0345,
"percent_delta": 0.2654,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.4202,
"delta": 0.0312,
"percent_delta": 0.0802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 1.9048,
"delta": 1.2408,
"percent_delta": 1.8687,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 1.2005,
"delta": 0.6505,
"percent_delta": 1.1827,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4816,
"delta": 0.0226,
"percent_delta": 0.0492,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 1.1287,
"delta": 0.5837,
"percent_delta": 1.071,
"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.2,
"after": 9.14,
"delta": 4.94,
"percent_delta": 1.1762,
"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": 3,
"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.4762,
"predicted_3B": 0.2169,
"predicted_AB": 9.14,
"predicted_AVG": 0.3353,
"predicted_BB": 1.5406,
"predicted_H": 3.065,
"predicted_HBP": 0.128,
"predicted_HR": 0.1639,
"predicted_OBP": 0.4312,
"predicted_R": 1.8618,
"predicted_RBI": 1.1734,
"predicted_SLG": 0.4887,
"predicted_SO": 1.136
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4762,
"after": 0.4762,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.2169,
"after": 0.2169,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.14,
"after": 9.14,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3102,
"after": 0.3353,
"delta": 0.0251,
"percent_delta": 0.0809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.5507,
"after": 1.5406,
"delta": -0.0101,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 3.1041,
"after": 3.065,
"delta": -0.0391,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.128,
"after": 0.128,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1645,
"after": 0.1639,
"delta": -0.0006,
"percent_delta": -0.0036,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4202,
"after": 0.4312,
"delta": 0.011,
"percent_delta": 0.0262,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.9048,
"after": 1.8618,
"delta": -0.043,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2005,
"after": 1.1734,
"delta": -0.0271,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4816,
"after": 0.4887,
"delta": 0.0071,
"percent_delta": 0.0147,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1287,
"after": 1.136,
"delta": 0.0073,
"percent_delta": 0.0065,
"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.3102,
"after": 0.3353,
"delta": 0.0251,
"percent_delta": 0.0809,
"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=9.14), rates preserved: AVG=0.335 HR/AB=0.018",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 2.0,
"predicted_H": 3.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.4762,
"after": 0.0,
"delta": -0.4762,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.2169,
"after": 0.0,
"delta": -0.2169,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 9.14,
"after": 9.0,
"delta": -0.14,
"percent_delta": -0.0153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.5406,
"after": 2.0,
"delta": 0.4594,
"percent_delta": 0.2982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.065,
"after": 3.0,
"delta": -0.065,
"percent_delta": -0.0212,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.128,
"after": 0.0,
"delta": -0.128,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1639,
"after": 0.0,
"delta": -0.1639,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.1734,
"after": 1.0,
"delta": -0.1734,
"percent_delta": -0.1478,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.136,
"after": 1.0,
"delta": -0.136,
"percent_delta": -0.1197,
"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_BB",
"before": 1.5406,
"after": 2.0,
"delta": 0.4594,
"percent_delta": 0.2982,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4762,
"after": 0.0,
"delta": -0.4762,
"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": 2.0,
"predicted_CS": 0.0,
"predicted_H": 3.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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.8618,
"after": 2.0,
"delta": 0.1382,
"percent_delta": 0.0742,
"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": 1.8618,
"after": 2.0,
"delta": 0.1382,
"percent_delta": 0.0742,
"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": 9.0,
"predicted_AVG": 0.333,
"predicted_BB": 2.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.455,
"predicted_R": 2.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": 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.3353,
"after": 0.333,
"delta": -0.0023,
"percent_delta": -0.0069,
"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": 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_OBP",
"before": 0.4312,
"after": 0.455,
"delta": 0.0238,
"percent_delta": 0.0552,
"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.4887,
"after": 0.333,
"delta": -0.1557,
"percent_delta": -0.3186,
"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.4312,
"after": 0.455,
"delta": 0.0238,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4887,
"after": 0.333,
"delta": -0.1557,
"percent_delta": -0.3186,
"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": 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": 3.0,
"delta": -6.0,
"percent_delta": -0.6667,
"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": 3.0,
"after": 0.0,
"delta": -3.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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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.3353,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.4312,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4887,
"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.333,
"after": 0.3353,
"delta": 0.0023,
"percent_delta": 0.007,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.455,
"after": 0.4312,
"delta": -0.0238,
"percent_delta": -0.0523,
"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.4887,
"delta": 0.1557,
"percent_delta": 0.4675,
"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.333,
"after": 0.4887,
"delta": 0.1557,
"percent_delta": 0.4675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.455,
"after": 0.4312,
"delta": -0.0238,
"percent_delta": -0.0523,
"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.234,
"after": 0.0,
"delta": -0.234,
"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": 4.2,
"after": 3.0,
"delta": -1.2,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.3353,
"delta": 0.0683,
"percent_delta": 0.2558,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.609,
"after": 1.0,
"delta": 0.391,
"percent_delta": 0.642,
"direction": "boost",
"projection_effect": "better",
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.389,
"after": 0.4312,
"delta": 0.0422,
"percent_delta": 0.1085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 1.0,
"delta": 0.336,
"percent_delta": 0.506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.55,
"after": 0.0,
"delta": -0.55,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.459,
"after": 0.4887,
"delta": 0.0297,
"percent_delta": 0.0647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 2.0,
"delta": 1.455,
"percent_delta": 2.6697,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 12,
"boosted_metrics": 6,
"deboosted_metrics": 6,
"better_metrics": 5,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.545,
"after": 2.0,
"delta": 1.455,
"percent_delta": 2.6697,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 4.2,
"after": 3.0,
"delta": -1.2,
"percent_delta": -0.2857,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.234 | - |
| predicted_3B | 0.060 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.609 | - |
| predicted_H | 1.120 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.389 | - |
| predicted_R | 0.664 | - |
| predicted_RBI | 0.550 | - |
| predicted_SLG | 0.459 | - |
| 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.476 | 0.242 |
| predicted_3B | 0.217 | 0.157 |
| predicted_AB | 9.140 | 4.940 |
| predicted_AVG | 0.310 | 0.043 |
| predicted_BB | 1.551 | 0.942 |
| predicted_H | 3.104 | 1.984 |
| predicted_HBP | 0.128 | - |
| predicted_HR | 0.165 | 0.035 |
| predicted_OBP | 0.420 | 0.031 |
| predicted_R | 1.905 | 1.241 |
| predicted_RBI | 1.200 | 0.650 |
| predicted_SLG | 0.482 | 0.023 |
| predicted_SO | 1.129 | 0.584 |
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.476 | 0.000 |
| predicted_3B | 0.217 | 0.000 |
| predicted_AB | 9.140 | 0.000 |
| predicted_AVG | 0.335 | 0.025 |
| predicted_BB | 1.541 | -0.010 |
| predicted_H | 3.065 | -0.039 |
| predicted_HBP | 0.128 | 0.000 |
| predicted_HR | 0.164 | -0.001 |
| predicted_OBP | 0.431 | 0.011 |
| predicted_R | 1.862 | -0.043 |
| predicted_RBI | 1.173 | -0.027 |
| predicted_SLG | 0.489 | 0.007 |
| predicted_SO | 1.136 | 0.007 |
AB rounded to 9 (raw=9.14), rates preserved: AVG=0.335 HR/AB=0.018
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 2.000 | - |
| H | 3.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 | 2.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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 | 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.476 |
| predicted_3B | 0.000 | -0.217 |
| predicted_AB | 9.000 | -0.140 |
| predicted_AVG | 0.333 | -0.002 |
| predicted_BB | 2.000 | 0.459 |
| predicted_H | 3.000 | -0.065 |
| predicted_HR | 0.000 | -0.164 |
| predicted_OBP | 0.455 | 0.024 |
| predicted_R | 2.000 | 0.138 |
| predicted_RBI | 1.000 | -0.173 |
| predicted_SLG | 0.333 | -0.156 |
| predicted_SO | 1.000 | -0.136 |
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 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.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 | 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 | 2 | - | 16.000 | 11.000 | 0.000 | 1.000 | 0.000 | 2.000 | 9.000 | 5.000 | 0.000 | 0.6875 | 0.7619 | 0.8125 | 0.6875 | 0.0000 | 0.1250 | 0.3125 | 0.0000 |
| last_10 | 0.20 | 3 | - | 36.000 | 24.000 | 0.000 | 5.000 | 0.000 | 12.000 | 14.000 | 9.000 | 0.000 | 0.6667 | 0.7333 | 0.9444 | 0.6667 | 0.0000 | 0.3333 | 0.2500 | 0.0000 |
| season | 0.60 | 53 | - | 900.000 | 275.000 | 55.000 | 14.000 | 14.000 | 107.000 | 156.000 | 143.000 | 128.000 | 0.3056 | 0.4059 | 0.4444 | 0.3056 | 0.0156 | 0.1189 | 0.1589 | 0.1422 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7820 |
| predicted_3B | 0.4150 |
| predicted_AB | 15.3790 |
| predicted_AVG | 0.3648 |
| predicted_BB | 2.7400 |
| predicted_H | 5.6100 |
| predicted_HBP | 0.1280 |
| predicted_HR | 0.2080 |
| predicted_OBP | 0.4595 |
| predicted_R | 3.4720 |
| predicted_RBI | 2.0220 |
| predicted_SLG | 0.5102 |
| predicted_SO | 1.8660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.7820 | 0.4762 | model_form_blend |
| predicted_3B | 0.0600 | 0.4150 | 0.2169 | model_form_blend |
| predicted_AB | 4.2000 | 15.3790 | 9.1400 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3648 | 0.3102 | model_form_blend |
| predicted_BB | 0.6090 | 2.7400 | 1.5507 | model_form_blend |
| predicted_H | 1.1200 | 5.6100 | 3.1041 | model_form_blend |
| predicted_HBP | - | 0.1280 | 0.1280 | form_only |
| predicted_HR | 0.1300 | 0.2080 | 0.1645 | model_form_blend |
| predicted_OBP | 0.3890 | 0.4595 | 0.4202 | model_form_blend |
| predicted_R | 0.6640 | 3.4720 | 1.9048 | model_form_blend |
| predicted_RBI | 0.5500 | 2.0220 | 1.2005 | model_form_blend |
| predicted_SLG | 0.4590 | 0.5102 | 0.4816 | model_form_blend |
| predicted_SO | 0.5450 | 1.8660 | 1.1287 | 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 | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.306 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| 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 | 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-3B |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 805808 |
| playerID | 805808 |
| playerName | Kevin McGonigle |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 12.9 |
| sl_bb_percent | 13.7 |
| sl_woba | 0.371 |
| sl_xwoba | 0.374 |
| sl_xba | 0.276 |
| sl_xslg | 0.47 |
| sl_sweet_spot_percent | 40.2 |
| sl_barrel_batted_rate | 9.5 |
| sl_hard_hit_percent | 37.3 |
| sl_exit_velocity_avg | 88.0 |
| sl_launch_angle_avg | 20.4 |
| sl_whiff_percent | 13.1 |
| sl_swing_percent | 41.6 |
| at_bat_number | 52.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | single |
| ab_event_description | Kevin McGonigle singles on a line drive to center fielder Mike Trout. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 84.1 |
| ab_launch_angle_last | 16.0 |
| ab_hit_distance_last | 174.0 |
| ab_estimated_ba_last | 0.986 |
| ab_estimated_woba_last | 0.927 |
| ab_estimated_slg_last | 1.125 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 87.8 |
| ab_release_spin_rate_avg | 2240.0 |
| ab_effective_speed_avg | 89.2 |
| ab_launch_speed_avg | 84.1 |
| ab_launch_angle_avg | 16.0 |
| ab_delta_run_exp_avg | 0.404 |
| ab_delta_home_win_exp_avg | 0.006 |
| ab_delta_pitcher_run_exp_avg | -0.404 |
| ab_bat_speed_avg | 75.4 |
| ab_swing_length_avg | 7.1 |
| ab_launch_speed_max | 84.1 |
| ab_hit_distance_sc_max | 174.0 |
| ab_release_speed_max | 87.8 |
| ab_release_spin_rate_max | 2240.0 |
| ab_release_speed_min | 87.8 |
| ab_release_spin_rate_min | 2240.0 |
| ab_delta_run_exp_sum | 0.404 |
| ab_delta_home_win_exp_sum | 0.006 |
| ab_delta_pitcher_run_exp_sum | -0.404 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.081 | 0.000 | 0.000 | Hitting_2B | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.243 | 4.000 | 6.000 | Hitting_AB | 3.214 | 3.000 | 0.786 | 1.000 |
| predicted_AVG | 0.220 | 0.250 | 0.167 | Hitting_AVG | 0.156 | 0.000 | 0.094 | 0.250 |
| predicted_BB | 0.288 | 0.000 | 1.000 | Hitting_BB | 0.286 | 1.000 | -0.286 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.080 | 0.000 | -0.080 | 0.000 |
| predicted_H | 0.670 | 1.000 | 1.000 | Hitting_H | 0.500 | 0.000 | 0.500 | 1.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.045 | 0.000 | -0.045 | 0.000 |
| predicted_OBP | 0.253 | 0.250 | 0.286 | Hitting_OBP | 0.220 | 0.250 | 0.030 | 0.000 |
| predicted_R | 0.072 | 1.000 | 0.000 | Hitting_R | 0.071 | 0.000 | 0.929 | 1.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_SLG | 0.287 | 0.250 | 0.167 | Hitting_SLG | 0.222 | 0.000 | 0.028 | 0.250 |
| predicted_SO | 0.658 | 0.000 | 1.000 | Hitting_SO | 0.652 | 1.000 | -0.652 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 8 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_R: 0.0720 -> 1.0000 (boost 0.9280, better) |
| Biggest Deboost | predicted_SO: 0.6580 -> 0.0000 (deboost -0.6580, 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.2430 -> 6.1856 (boost 2.9426, better) | predicted_SLG: 0.2870 -> 0.2499 (deboost -0.0371, 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.1848 -> 0.1565 (deboost -0.0283, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 2 | 4 | 3 | 3 | predicted_BB: 0.6510 -> 1.0000 (boost 0.3490, better) | predicted_SO: 1.3740 -> 1.0000 (deboost -0.3740, better) | AB rounded to 6 (raw=6.19), rates preserved: AVG=0.157 HR/AB=0.015 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.1506 -> 0.0000 (deboost -0.1506, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2369 -> 0.2860 (boost 0.0491, better) | predicted_SLG: 0.2243 -> 0.1670 (deboost -0.0573, 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_R: 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.1670 -> 0.2243 (boost 0.0573, better) | predicted_OBP: 0.2860 -> 0.2369 (deboost -0.0491, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656716",
"player_name": "Zach McKinstry",
"position": "2B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.081,
"predicted_3B": 0.0,
"predicted_AB": 3.243,
"predicted_AVG": 0.22,
"predicted_BB": 0.288,
"predicted_H": 0.67,
"predicted_HR": 0.06,
"predicted_OBP": 0.253,
"predicted_R": 0.072,
"predicted_RBI": 0.41,
"predicted_SLG": 0.287,
"predicted_SO": 0.658
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.0013,
"predicted_AB": 6.1856,
"predicted_AVG": 0.1848,
"predicted_BB": 0.6553,
"predicted_H": 0.9806,
"predicted_HBP": 0.006,
"predicted_HR": 0.0909,
"predicted_OBP": 0.2385,
"predicted_R": 0.1541,
"predicted_RBI": 0.755,
"predicted_SLG": 0.2499,
"predicted_SO": 1.3651
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.145,
"delta": 0.064,
"percent_delta": 0.7901,
"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.243,
"after": 6.1856,
"delta": 2.9426,
"percent_delta": 0.9074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1848,
"delta": -0.0352,
"percent_delta": -0.16,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.6553,
"delta": 0.3673,
"percent_delta": 1.2753,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.9806,
"delta": 0.3106,
"percent_delta": 0.4636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0909,
"delta": 0.0309,
"percent_delta": 0.515,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.253,
"after": 0.2385,
"delta": -0.0145,
"percent_delta": -0.0573,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.072,
"after": 0.1541,
"delta": 0.0821,
"percent_delta": 1.1403,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.755,
"delta": 0.345,
"percent_delta": 0.8415,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2499,
"delta": -0.0371,
"percent_delta": -0.1293,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.658,
"after": 1.3651,
"delta": 0.7071,
"percent_delta": 1.0746,
"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.243,
"after": 6.1856,
"delta": 2.9426,
"percent_delta": 0.9074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2499,
"delta": -0.0371,
"percent_delta": -0.1293,
"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": 3,
"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.145,
"predicted_3B": 0.0013,
"predicted_AB": 6.1856,
"predicted_AVG": 0.1565,
"predicted_BB": 0.651,
"predicted_H": 0.9682,
"predicted_HBP": 0.006,
"predicted_HR": 0.0905,
"predicted_OBP": 0.2369,
"predicted_R": 0.1506,
"predicted_RBI": 0.7379,
"predicted_SLG": 0.2243,
"predicted_SO": 1.374
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.145,
"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.1856,
"after": 6.1856,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1848,
"after": 0.1565,
"delta": -0.0283,
"percent_delta": -0.1531,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6553,
"after": 0.651,
"delta": -0.0043,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9806,
"after": 0.9682,
"delta": -0.0124,
"percent_delta": -0.0126,
"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.0909,
"after": 0.0905,
"delta": -0.0004,
"percent_delta": -0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2385,
"after": 0.2369,
"delta": -0.0016,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.1541,
"after": 0.1506,
"delta": -0.0035,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.755,
"after": 0.7379,
"delta": -0.0171,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2499,
"after": 0.2243,
"delta": -0.0256,
"percent_delta": -0.1024,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.3651,
"after": 1.374,
"delta": 0.0089,
"percent_delta": 0.0065,
"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.1848,
"after": 0.1565,
"delta": -0.0283,
"percent_delta": -0.1531,
"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.157 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.145,
"after": 0.0,
"delta": -0.145,
"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.1856,
"after": 6.0,
"delta": -0.1856,
"percent_delta": -0.03,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.9682,
"after": 1.0,
"delta": 0.0318,
"percent_delta": 0.0328,
"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.0905,
"after": 0.0,
"delta": -0.0905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7379,
"after": 1.0,
"delta": 0.2621,
"percent_delta": 0.3552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.374,
"after": 1.0,
"delta": -0.374,
"percent_delta": -0.2722,
"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.651,
"after": 1.0,
"delta": 0.349,
"percent_delta": 0.5361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.374,
"after": 1.0,
"delta": -0.374,
"percent_delta": -0.2722,
"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": 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.1506,
"after": 0.0,
"delta": -0.1506,
"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.1506,
"after": 0.0,
"delta": -0.1506,
"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": 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.1565,
"after": 0.167,
"delta": 0.0105,
"percent_delta": 0.0671,
"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.2369,
"after": 0.286,
"delta": 0.0491,
"percent_delta": 0.2073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2243,
"after": 0.167,
"delta": -0.0573,
"percent_delta": -0.2555,
"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.2369,
"after": 0.286,
"delta": 0.0491,
"percent_delta": 0.2073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2243,
"after": 0.167,
"delta": -0.0573,
"percent_delta": -0.2555,
"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": 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": 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": 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_R",
"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": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 4.0,
"predicted_AVG": 0.1565,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2369,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2243,
"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.1565,
"delta": -0.0105,
"percent_delta": -0.0627,
"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.2369,
"delta": -0.0491,
"percent_delta": -0.1718,
"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.2243,
"delta": 0.0573,
"percent_delta": 0.3432,
"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.167,
"after": 0.2243,
"delta": 0.0573,
"percent_delta": 0.3432,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2369,
"delta": -0.0491,
"percent_delta": -0.1718,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.081,
"after": 0.0,
"delta": -0.081,
"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.243,
"after": 4.0,
"delta": 0.757,
"percent_delta": 0.2334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1565,
"delta": -0.0635,
"percent_delta": -0.2886,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.288,
"after": 0.0,
"delta": -0.288,
"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.253,
"after": 0.2369,
"delta": -0.0161,
"percent_delta": -0.0636,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.072,
"after": 1.0,
"delta": 0.928,
"percent_delta": 12.8889,
"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.287,
"after": 0.2243,
"delta": -0.0627,
"percent_delta": -0.2185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.658,
"after": 0.0,
"delta": -0.658,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.072,
"after": 1.0,
"delta": 0.928,
"percent_delta": 12.8889,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.658,
"after": 0.0,
"delta": -0.658,
"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.081 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.243 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.288 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.253 | - |
| predicted_R | 0.072 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.287 | - |
| predicted_SO | 0.658 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | 0.064 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.186 | 2.943 |
| predicted_AVG | 0.185 | -0.035 |
| predicted_BB | 0.655 | 0.367 |
| predicted_H | 0.981 | 0.311 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.091 | 0.031 |
| predicted_OBP | 0.238 | -0.015 |
| predicted_R | 0.154 | 0.082 |
| predicted_RBI | 0.755 | 0.345 |
| predicted_SLG | 0.250 | -0.037 |
| predicted_SO | 1.365 | 0.707 |
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.145 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.186 | 0.000 |
| predicted_AVG | 0.157 | -0.028 |
| predicted_BB | 0.651 | -0.004 |
| predicted_H | 0.968 | -0.012 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.090 | -0.000 |
| predicted_OBP | 0.237 | -0.002 |
| predicted_R | 0.151 | -0.003 |
| predicted_RBI | 0.738 | -0.017 |
| predicted_SLG | 0.224 | -0.026 |
| predicted_SO | 1.374 | 0.009 |
AB rounded to 6 (raw=6.19), rates preserved: AVG=0.157 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 | - |
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.145 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.186 |
| predicted_AVG | 0.167 | 0.011 |
| predicted_BB | 1.000 | 0.349 |
| predicted_H | 1.000 | 0.032 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.286 | 0.049 |
| predicted_R | 0.000 | -0.151 |
| predicted_RBI | 1.000 | 0.262 |
| predicted_SLG | 0.167 | -0.057 |
| predicted_SO | 1.000 | -0.374 |
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 | 1.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 | 2 | - | 14.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 4.000 | 5.000 | 0.0000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.1429 | 0.2857 | 0.3571 |
| last_10 | 0.20 | 3 | - | 22.000 | 0.000 | 0.000 | 0.000 | 0.000 | 8.000 | 0.000 | 4.000 | 8.000 | 0.0000 | 0.1176 | 0.0000 | 0.0000 | 0.0000 | 0.3636 | 0.1818 | 0.3636 |
| season | 0.60 | 32 | - | 360.000 | 56.000 | 9.000 | 0.000 | 5.000 | 36.000 | 8.000 | 32.000 | 73.000 | 0.1556 | 0.2200 | 0.2222 | 0.1556 | 0.0139 | 0.1000 | 0.0889 | 0.2028 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2300 |
| predicted_3B | 0.0030 |
| predicted_AB | 10.0930 |
| predicted_AVG | 0.1381 |
| predicted_BB | 1.1430 |
| predicted_H | 1.3930 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1320 |
| predicted_OBP | 0.2192 |
| predicted_R | 0.2630 |
| predicted_RBI | 1.2130 |
| predicted_SLG | 0.2007 |
| predicted_SO | 2.3040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0810 | 0.2300 | 0.1450 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.2430 | 10.0930 | 6.1856 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1381 | 0.1848 | model_form_blend |
| predicted_BB | 0.2880 | 1.1430 | 0.6553 | model_form_blend |
| predicted_H | 0.6700 | 1.3930 | 0.9806 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0600 | 0.1320 | 0.0909 | model_form_blend |
| predicted_OBP | 0.2530 | 0.2192 | 0.2385 | model_form_blend |
| predicted_R | 0.0720 | 0.2630 | 0.1541 | model_form_blend |
| predicted_RBI | 0.4100 | 1.2130 | 0.7550 | model_form_blend |
| predicted_SLG | 0.2870 | 0.2007 | 0.2499 | model_form_blend |
| predicted_SO | 0.6580 | 2.3040 | 1.3651 | 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 | 112 |
| Season rows before report date | 112 |
| Report year | 2026 |
| Profile rows used | 111 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.156 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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-SS |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 656716 |
| playerID | 656716 |
| playerName | Zach McKinstry |
| pos | 2B |
| started | True |
| startingPosition | RF |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 17.6 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.21 |
| sl_xwoba | 0.239 |
| sl_xba | 0.204 |
| sl_xslg | 0.275 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 1.2 |
| sl_hard_hit_percent | 21.0 |
| sl_exit_velocity_avg | 83.6 |
| sl_launch_angle_avg | 13.1 |
| sl_whiff_percent | 15.8 |
| sl_swing_percent | 51.7 |
| at_bat_number | 55.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_3b_start | 693307.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Zach McKinstry grounds out, second baseman Oswald Peraza to first baseman Vaughn Grissom. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 101.6 |
| ab_launch_angle_last | -2.0 |
| ab_hit_distance_last | 30.0 |
| ab_estimated_ba_last | 0.438 |
| ab_estimated_woba_last | 0.414 |
| ab_estimated_slg_last | 0.471 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 80.89999999999999 |
| ab_release_spin_rate_avg | 2033.8333333333333 |
| ab_effective_speed_avg | 82.2 |
| ab_launch_speed_avg | 80.93333333333332 |
| ab_launch_angle_avg | 9.666666666666666 |
| ab_delta_run_exp_avg | -0.0468333333333333 |
| ab_delta_home_win_exp_avg | -0.001 |
| ab_delta_pitcher_run_exp_avg | 0.0468333333333333 |
| ab_bat_speed_avg | 68.8 |
| ab_swing_length_avg | 6.8 |
| ab_launch_speed_max | 101.6 |
| ab_hit_distance_sc_max | 96.0 |
| ab_release_speed_max | 90.4 |
| ab_release_spin_rate_max | 2289.0 |
| ab_release_speed_min | 77.8 |
| ab_release_spin_rate_min | 1635.0 |
| ab_delta_run_exp_sum | -0.281 |
| ab_delta_home_win_exp_sum | -0.006 |
| ab_delta_pitcher_run_exp_sum | 0.281 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.266 | 2.000 | 1.000 | Hitting_2B | 0.258 | 0.000 | 1.742 | 2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.643 | 3.000 | 8.000 | Hitting_AB | 3.528 | 1.000 | -0.528 | 2.000 |
| predicted_AVG | 0.218 | 0.667 | 0.125 | Hitting_AVG | 0.209 | 0.000 | 0.458 | 0.667 |
| predicted_BB | 0.396 | 1.000 | 1.000 | Hitting_BB | 0.384 | 0.000 | 0.616 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_H | 0.260 | 2.000 | 1.000 | Hitting_H | 0.736 | 0.000 | 1.264 | 2.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.094 | 0.000 | -0.094 | 0.000 |
| predicted_OBP | 0.247 | 0.750 | 0.222 | Hitting_OBP | 0.282 | 0.000 | 0.468 | 0.750 |
| predicted_R | 0.351 | 1.000 | 1.000 | Hitting_R | 0.340 | 0.000 | 0.660 | 1.000 |
| predicted_RBI | 0.170 | 1.000 | 1.000 | Hitting_RBI | 0.516 | 0.000 | 0.484 | 1.000 |
| predicted_SLG | 0.348 | 1.333 | 0.250 | Hitting_SLG | 0.362 | 0.000 | 0.971 | 1.333 |
| predicted_SO | 0.734 | 0.000 | 2.000 | Hitting_SO | 0.711 | 0.000 | -0.711 | 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.2600 -> 2.0000 (boost 1.7400, better) |
| Biggest Deboost | predicted_SO: 0.7340 -> 0.0000 (deboost -0.7340, 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.6430 -> 7.7193 (boost 4.0763, 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.3457 -> 0.2985 (deboost -0.0472, worse) | 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_2B: 0.4918 -> 1.0000 (boost 0.5082, better) | predicted_H: 1.3399 -> 1.0000 (deboost -0.3399, worse) | AB rounded to 8 (raw=7.72), rates preserved: AVG=0.174 HR/AB=0.020 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8155 -> 1.0000 (boost 0.1845, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_AVG: 0.1736 -> 0.1250 (deboost -0.0486, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 4 | 2 | 2 | 3 | 1 | predicted_2B: 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_AVG: 0.1250 -> 0.1736 (boost 0.0486, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "663837",
"player_name": "Matt Vierling",
"position": "CF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.266,
"predicted_3B": 0.0,
"predicted_AB": 3.643,
"predicted_AVG": 0.218,
"predicted_BB": 0.396,
"predicted_H": 0.26,
"predicted_HR": 0.05,
"predicted_OBP": 0.247,
"predicted_R": 0.351,
"predicted_RBI": 0.17,
"predicted_SLG": 0.348,
"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.4918,
"predicted_3B": 0.0009,
"predicted_AB": 7.7193,
"predicted_AVG": 0.2161,
"predicted_BB": 0.7331,
"predicted_H": 1.357,
"predicted_HBP": 0.005,
"predicted_HR": 0.1574,
"predicted_OBP": 0.2592,
"predicted_R": 0.8344,
"predicted_RBI": 0.7884,
"predicted_SLG": 0.3457,
"predicted_SO": 1.5843
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.266,
"after": 0.4918,
"delta": 0.2258,
"percent_delta": 0.8489,
"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.643,
"after": 7.7193,
"delta": 4.0763,
"percent_delta": 1.1189,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.2161,
"delta": -0.0019,
"percent_delta": -0.0087,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 0.7331,
"delta": 0.3371,
"percent_delta": 0.8513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 1.357,
"delta": 1.097,
"percent_delta": 4.2192,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.1574,
"delta": 0.1074,
"percent_delta": 2.148,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.247,
"after": 0.2592,
"delta": 0.0122,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 0.8344,
"delta": 0.4834,
"percent_delta": 1.3772,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.7884,
"delta": 0.6184,
"percent_delta": 3.6376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.3457,
"delta": -0.0023,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.734,
"after": 1.5843,
"delta": 0.8503,
"percent_delta": 1.1584,
"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.643,
"after": 7.7193,
"delta": 4.0763,
"percent_delta": 1.1189,
"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": 3,
"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.4918,
"predicted_3B": 0.0009,
"predicted_AB": 7.7193,
"predicted_AVG": 0.1736,
"predicted_BB": 0.7283,
"predicted_H": 1.3399,
"predicted_HBP": 0.005,
"predicted_HR": 0.1568,
"predicted_OBP": 0.2448,
"predicted_R": 0.8155,
"predicted_RBI": 0.7706,
"predicted_SLG": 0.2985,
"predicted_SO": 1.5946
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4918,
"after": 0.4918,
"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.7193,
"after": 7.7193,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2161,
"after": 0.1736,
"delta": -0.0425,
"percent_delta": -0.1967,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7331,
"after": 0.7283,
"delta": -0.0048,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.357,
"after": 1.3399,
"delta": -0.0171,
"percent_delta": -0.0126,
"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.1574,
"after": 0.1568,
"delta": -0.0006,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2592,
"after": 0.2448,
"delta": -0.0144,
"percent_delta": -0.0556,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8344,
"after": 0.8155,
"delta": -0.0189,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7884,
"after": 0.7706,
"delta": -0.0178,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3457,
"after": 0.2985,
"delta": -0.0472,
"percent_delta": -0.1365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5843,
"after": 1.5946,
"delta": 0.0103,
"percent_delta": 0.0065,
"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.3457,
"after": 0.2985,
"delta": -0.0472,
"percent_delta": -0.1365,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.72), rates preserved: AVG=0.174 HR/AB=0.020",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 8.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.4918,
"after": 1.0,
"delta": 0.5082,
"percent_delta": 1.0333,
"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": 7.7193,
"after": 8.0,
"delta": 0.2807,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7283,
"after": 1.0,
"delta": 0.2717,
"percent_delta": 0.3731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.3399,
"after": 1.0,
"delta": -0.3399,
"percent_delta": -0.2537,
"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.1568,
"after": 0.0,
"delta": -0.1568,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7706,
"after": 1.0,
"delta": 0.2294,
"percent_delta": 0.2977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5946,
"after": 2.0,
"delta": 0.4054,
"percent_delta": 0.2542,
"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_2B",
"before": 0.4918,
"after": 1.0,
"delta": 0.5082,
"percent_delta": 1.0333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.3399,
"after": 1.0,
"delta": -0.3399,
"percent_delta": -0.2537,
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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.8155,
"after": 1.0,
"delta": 0.1845,
"percent_delta": 0.2262,
"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.8155,
"after": 1.0,
"delta": 0.1845,
"percent_delta": 0.2262,
"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.125,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.222,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.25,
"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.1736,
"after": 0.125,
"delta": -0.0486,
"percent_delta": -0.28,
"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.2448,
"after": 0.222,
"delta": -0.0228,
"percent_delta": -0.0931,
"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.2985,
"after": 0.25,
"delta": -0.0485,
"percent_delta": -0.1625,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.1736,
"after": 0.125,
"delta": -0.0486,
"percent_delta": -0.28,
"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": 2.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": 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": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.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": 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": 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": 4,
"boosted_metrics": 2,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_2B",
"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": 2.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1736,
"predicted_BB": 1.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2448,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2985,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 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.125,
"after": 0.1736,
"delta": 0.0486,
"percent_delta": 0.3886,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.222,
"after": 0.2448,
"delta": 0.0228,
"percent_delta": 0.1028,
"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.2985,
"delta": 0.0485,
"percent_delta": 0.1938,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 3,
"deboosted_metrics": 0,
"better_metrics": 3,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.125,
"after": 0.1736,
"delta": 0.0486,
"percent_delta": 0.3886,
"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.266,
"after": 2.0,
"delta": 1.734,
"percent_delta": 6.5188,
"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.643,
"after": 3.0,
"delta": -0.643,
"percent_delta": -0.1765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.218,
"after": 0.1736,
"delta": -0.0444,
"percent_delta": -0.2037,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.396,
"after": 1.0,
"delta": 0.604,
"percent_delta": 1.5253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"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.247,
"after": 0.2448,
"delta": -0.0022,
"percent_delta": -0.0089,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.351,
"after": 1.0,
"delta": 0.649,
"percent_delta": 1.849,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 1.0,
"delta": 0.83,
"percent_delta": 4.8824,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.348,
"after": 0.2985,
"delta": -0.0495,
"percent_delta": -0.1422,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.734,
"after": 0.0,
"delta": -0.734,
"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_H",
"before": 0.26,
"after": 2.0,
"delta": 1.74,
"percent_delta": 6.6923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.734,
"after": 0.0,
"delta": -0.734,
"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.266 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.643 | - |
| predicted_AVG | 0.218 | - |
| predicted_BB | 0.396 | - |
| predicted_H | 0.260 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.247 | - |
| predicted_R | 0.351 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.348 | - |
| 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.492 | 0.226 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.719 | 4.076 |
| predicted_AVG | 0.216 | -0.002 |
| predicted_BB | 0.733 | 0.337 |
| predicted_H | 1.357 | 1.097 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.157 | 0.107 |
| predicted_OBP | 0.259 | 0.012 |
| predicted_R | 0.834 | 0.483 |
| predicted_RBI | 0.788 | 0.618 |
| predicted_SLG | 0.346 | -0.002 |
| predicted_SO | 1.584 | 0.850 |
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.001 | 0.000 |
| predicted_AB | 7.719 | 0.000 |
| predicted_AVG | 0.174 | -0.042 |
| predicted_BB | 0.728 | -0.005 |
| predicted_H | 1.340 | -0.017 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.157 | -0.001 |
| predicted_OBP | 0.245 | -0.014 |
| predicted_R | 0.816 | -0.019 |
| predicted_RBI | 0.771 | -0.018 |
| predicted_SLG | 0.298 | -0.047 |
| predicted_SO | 1.595 | 0.010 |
AB rounded to 8 (raw=7.72), rates preserved: AVG=0.174 HR/AB=0.020
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 8.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 | 8.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.508 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.281 |
| predicted_AVG | 0.125 | -0.049 |
| predicted_BB | 1.000 | 0.272 |
| predicted_H | 1.000 | -0.340 |
| predicted_HR | 0.000 | -0.157 |
| predicted_OBP | 0.222 | -0.023 |
| predicted_R | 1.000 | 0.184 |
| predicted_RBI | 1.000 | 0.229 |
| predicted_SLG | 0.250 | -0.048 |
| predicted_SO | 2.000 | 0.405 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 2.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 3.000 | -5.000 |
| BB | 1.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 | 2 | - | 17.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 4.000 | 0.2353 | 0.2353 | 0.2353 | 0.2353 | 0.0000 | 0.0000 | 0.0000 | 0.2353 |
| last_10 | 0.20 | 3 | - | 42.000 | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 9.000 | 0.2143 | 0.2143 | 0.2143 | 0.2143 | 0.0000 | 0.0000 | 0.0000 | 0.2143 |
| season | 0.60 | 40 | - | 561.000 | 117.000 | 41.000 | 0.000 | 15.000 | 82.000 | 54.000 | 61.000 | 113.000 | 0.2086 | 0.2821 | 0.3619 | 0.2086 | 0.0267 | 0.1462 | 0.1087 | 0.2014 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7830 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.9770 |
| predicted_AVG | 0.2136 |
| predicted_BB | 1.1680 |
| predicted_H | 2.7720 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.2960 |
| predicted_OBP | 0.2750 |
| predicted_R | 1.4580 |
| predicted_RBI | 1.5860 |
| predicted_SLG | 0.3427 |
| predicted_SO | 2.6810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2660 | 0.7830 | 0.4918 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.6430 | 12.9770 | 7.7193 | model_form_blend |
| predicted_AVG | 0.2180 | 0.2136 | 0.2161 | model_form_blend |
| predicted_BB | 0.3960 | 1.1680 | 0.7331 | model_form_blend |
| predicted_H | 0.2600 | 2.7720 | 1.3570 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.0500 | 0.2960 | 0.1574 | model_form_blend |
| predicted_OBP | 0.2470 | 0.2750 | 0.2592 | model_form_blend |
| predicted_R | 0.3510 | 1.4580 | 0.8344 | model_form_blend |
| predicted_RBI | 0.1700 | 1.5860 | 0.7884 | model_form_blend |
| predicted_SLG | 0.3480 | 0.3427 | 0.3457 | model_form_blend |
| predicted_SO | 0.7340 | 2.6810 | 1.5843 | 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 | 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 | 2 |
| 2B | 2 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.209 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_LAA@DET |
| game_type | ph |
| mlbID | 663837 |
| note | Popped out for Keith in the 7th. |
| playerID | 663837 |
| playerName | Matt Vierling |
| pos | CF |
| started | False |
| startingPosition | PH |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 17.4 |
| sl_bb_percent | 9.0 |
| sl_woba | 0.29 |
| sl_xwoba | 0.323 |
| sl_xba | 0.266 |
| sl_xslg | 0.405 |
| sl_sweet_spot_percent | 36.8 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.1 |
| sl_launch_angle_avg | 16.3 |
| sl_whiff_percent | 16.6 |
| sl_swing_percent | 46.3 |
| at_bat_number | 51.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Matt Vierling pops out to second baseman Oswald Peraza. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 87.4 |
| ab_launch_angle_last | 66.0 |
| ab_hit_distance_last | 145.0 |
| ab_estimated_ba_last | 0.006 |
| ab_estimated_woba_last | 0.007 |
| ab_estimated_slg_last | 0.01 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 87.75 |
| ab_release_spin_rate_avg | 2107.0 |
| ab_effective_speed_avg | 89.4 |
| ab_launch_speed_avg | 87.4 |
| ab_launch_angle_avg | 66.0 |
| ab_delta_run_exp_avg | -0.128 |
| ab_delta_home_win_exp_avg | -0.0025 |
| ab_delta_pitcher_run_exp_avg | 0.128 |
| ab_bat_speed_avg | 72.8 |
| ab_swing_length_avg | 7.7 |
| ab_launch_speed_max | 87.4 |
| ab_hit_distance_sc_max | 145.0 |
| ab_release_speed_max | 88.5 |
| ab_release_spin_rate_max | 2146.0 |
| ab_release_speed_min | 87.0 |
| ab_release_spin_rate_min | 2068.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.005 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.091 | 0.000 | 0.000 | Hitting_2B | 0.090 | 0.000 | -0.090 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.492 | 3.000 | 7.000 | Hitting_AB | 3.466 | 3.000 | -0.466 | 0.000 |
| predicted_AVG | 0.224 | 0.333 | 0.143 | Hitting_AVG | 0.165 | 0.000 | 0.168 | 0.333 |
| predicted_BB | 0.250 | 1.000 | 1.000 | Hitting_BB | 0.256 | 1.000 | 0.744 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.650 | 1.000 | 1.000 | Hitting_H | 0.571 | 0.000 | 0.429 | 1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.053 | 0.000 | -0.053 | 0.000 |
| predicted_OBP | 0.264 | 0.500 | 0.250 | Hitting_OBP | 0.222 | 0.250 | 0.278 | 0.250 |
| predicted_R | 0.371 | 1.000 | 1.000 | Hitting_R | 0.376 | 0.000 | 0.624 | 1.000 |
| predicted_RBI | 0.280 | 1.000 | 1.000 | Hitting_RBI | 0.226 | 0.000 | 0.774 | 1.000 |
| predicted_SLG | 0.341 | 0.333 | 0.143 | Hitting_SLG | 0.236 | 0.000 | 0.097 | 0.333 |
| predicted_SO | 0.545 | 1.000 | 1.000 | Hitting_SO | 0.541 | 0.000 | 0.459 | 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.2500 -> 1.0000 (boost 0.7500, better) |
| Biggest Deboost | predicted_AB: 3.4920 -> 3.0000 (deboost -0.4920, 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.4920 -> 6.7864 (boost 3.2944, better) | predicted_SLG: 0.3410 -> 0.3087 (deboost -0.0323, 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.3087 -> 0.2732 (deboost -0.0355, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 3 | 3 | predicted_RBI: 0.4943 -> 1.0000 (boost 0.5057, better) | predicted_HR: 0.1877 -> 0.0000 (deboost -0.1877, worse) | AB rounded to 7 (raw=6.79), rates preserved: AVG=0.166 HR/AB=0.028 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7746 -> 1.0000 (boost 0.2254, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2398 -> 0.2500 (boost 0.0102, better) | predicted_SLG: 0.2732 -> 0.1430 (deboost -0.1302, 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: 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.1430 -> 0.2732 (boost 0.1302, better) | predicted_OBP: 0.2500 -> 0.2398 (deboost -0.0102, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "672761",
"player_name": "Wenceel Pérez",
"position": "RF",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.091,
"predicted_3B": 0.0,
"predicted_AB": 3.492,
"predicted_AVG": 0.224,
"predicted_BB": 0.25,
"predicted_H": 0.65,
"predicted_HR": 0.1,
"predicted_OBP": 0.264,
"predicted_R": 0.371,
"predicted_RBI": 0.28,
"predicted_SLG": 0.341,
"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.1634,
"predicted_3B": 0.0009,
"predicted_AB": 6.7864,
"predicted_AVG": 0.1966,
"predicted_BB": 0.6642,
"predicted_H": 1.1404,
"predicted_HBP": 0.006,
"predicted_HR": 0.1884,
"predicted_OBP": 0.254,
"predicted_R": 0.7925,
"predicted_RBI": 0.5057,
"predicted_SLG": 0.3087,
"predicted_SO": 0.9596
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.1634,
"delta": 0.0724,
"percent_delta": 0.7956,
"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.492,
"after": 6.7864,
"delta": 3.2944,
"percent_delta": 0.9434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1966,
"delta": -0.0274,
"percent_delta": -0.1223,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 0.6642,
"delta": 0.4142,
"percent_delta": 1.6568,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.1404,
"delta": 0.4904,
"percent_delta": 0.7545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1884,
"delta": 0.0884,
"percent_delta": 0.884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.254,
"delta": -0.01,
"percent_delta": -0.0379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.371,
"after": 0.7925,
"delta": 0.4215,
"percent_delta": 1.1361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 0.5057,
"delta": 0.2257,
"percent_delta": 0.8061,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3087,
"delta": -0.0323,
"percent_delta": -0.0947,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 0.9596,
"delta": 0.4146,
"percent_delta": 0.7607,
"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.492,
"after": 6.7864,
"delta": 3.2944,
"percent_delta": 0.9434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.3087,
"delta": -0.0323,
"percent_delta": -0.0947,
"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": 3,
"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.1634,
"predicted_3B": 0.0009,
"predicted_AB": 6.7864,
"predicted_AVG": 0.1659,
"predicted_BB": 0.6599,
"predicted_H": 1.126,
"predicted_HBP": 0.006,
"predicted_HR": 0.1877,
"predicted_OBP": 0.2398,
"predicted_R": 0.7746,
"predicted_RBI": 0.4943,
"predicted_SLG": 0.2732,
"predicted_SO": 0.9658
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1634,
"after": 0.1634,
"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.7864,
"after": 6.7864,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1966,
"after": 0.1659,
"delta": -0.0307,
"percent_delta": -0.1562,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6642,
"after": 0.6599,
"delta": -0.0043,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1404,
"after": 1.126,
"delta": -0.0144,
"percent_delta": -0.0126,
"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.1884,
"after": 0.1877,
"delta": -0.0007,
"percent_delta": -0.0037,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.254,
"after": 0.2398,
"delta": -0.0142,
"percent_delta": -0.0559,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.7925,
"after": 0.7746,
"delta": -0.0179,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5057,
"after": 0.4943,
"delta": -0.0114,
"percent_delta": -0.0225,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3087,
"after": 0.2732,
"delta": -0.0355,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9596,
"after": 0.9658,
"delta": 0.0062,
"percent_delta": 0.0065,
"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.3087,
"after": 0.2732,
"delta": -0.0355,
"percent_delta": -0.115,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.79), rates preserved: AVG=0.166 HR/AB=0.028",
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1634,
"after": 0.0,
"delta": -0.1634,
"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.7864,
"after": 7.0,
"delta": 0.2136,
"percent_delta": 0.0315,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6599,
"after": 1.0,
"delta": 0.3401,
"percent_delta": 0.5154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.126,
"after": 1.0,
"delta": -0.126,
"percent_delta": -0.1119,
"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.1877,
"after": 0.0,
"delta": -0.1877,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4943,
"after": 1.0,
"delta": 0.5057,
"percent_delta": 1.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9658,
"after": 1.0,
"delta": 0.0342,
"percent_delta": 0.0354,
"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_RBI",
"before": 0.4943,
"after": 1.0,
"delta": 0.5057,
"percent_delta": 1.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1877,
"after": 0.0,
"delta": -0.1877,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.7746,
"after": 1.0,
"delta": 0.2254,
"percent_delta": 0.291,
"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.7746,
"after": 1.0,
"delta": 0.2254,
"percent_delta": 0.291,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.1659,
"after": 0.143,
"delta": -0.0229,
"percent_delta": -0.138,
"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.2398,
"after": 0.25,
"delta": 0.0102,
"percent_delta": 0.0425,
"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.2732,
"after": 0.143,
"delta": -0.1302,
"percent_delta": -0.4766,
"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.2398,
"after": 0.25,
"delta": 0.0102,
"percent_delta": 0.0425,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2732,
"after": 0.143,
"delta": -0.1302,
"percent_delta": -0.4766,
"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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"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.1659,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2398,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2732,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.1659,
"delta": 0.0229,
"percent_delta": 0.1603,
"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.25,
"after": 0.2398,
"delta": -0.0102,
"percent_delta": -0.0406,
"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.143,
"after": 0.2732,
"delta": 0.1302,
"percent_delta": 0.9107,
"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.143,
"after": 0.2732,
"delta": 0.1302,
"percent_delta": 0.9107,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2398,
"delta": -0.0102,
"percent_delta": -0.0406,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.091,
"after": 0.0,
"delta": -0.091,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.492,
"after": 3.0,
"delta": -0.492,
"percent_delta": -0.1409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.1659,
"delta": -0.0581,
"percent_delta": -0.2594,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"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.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.264,
"after": 0.2398,
"delta": -0.0242,
"percent_delta": -0.0917,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.371,
"after": 1.0,
"delta": 0.629,
"percent_delta": 1.6954,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.28,
"after": 1.0,
"delta": 0.72,
"percent_delta": 2.5714,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.341,
"after": 0.2732,
"delta": -0.0678,
"percent_delta": -0.1988,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.545,
"after": 1.0,
"delta": 0.455,
"percent_delta": 0.8349,
"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.25,
"after": 1.0,
"delta": 0.75,
"percent_delta": 3.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.492,
"after": 3.0,
"delta": -0.492,
"percent_delta": -0.1409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.091 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.492 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.250 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.264 | - |
| predicted_R | 0.371 | - |
| predicted_RBI | 0.280 | - |
| predicted_SLG | 0.341 | - |
| 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.163 | 0.072 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.786 | 3.294 |
| predicted_AVG | 0.197 | -0.027 |
| predicted_BB | 0.664 | 0.414 |
| predicted_H | 1.140 | 0.490 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.188 | 0.088 |
| predicted_OBP | 0.254 | -0.010 |
| predicted_R | 0.792 | 0.421 |
| predicted_RBI | 0.506 | 0.226 |
| predicted_SLG | 0.309 | -0.032 |
| predicted_SO | 0.960 | 0.415 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.163 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.786 | 0.000 |
| predicted_AVG | 0.166 | -0.031 |
| predicted_BB | 0.660 | -0.004 |
| predicted_H | 1.126 | -0.014 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.188 | -0.001 |
| predicted_OBP | 0.240 | -0.014 |
| predicted_R | 0.775 | -0.018 |
| predicted_RBI | 0.494 | -0.011 |
| predicted_SLG | 0.273 | -0.035 |
| predicted_SO | 0.966 | 0.006 |
AB rounded to 7 (raw=6.79), rates preserved: AVG=0.166 HR/AB=0.028
| 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 | 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 | 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.163 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.214 |
| predicted_AVG | 0.143 | -0.023 |
| predicted_BB | 1.000 | 0.340 |
| predicted_H | 1.000 | -0.126 |
| predicted_HR | 0.000 | -0.188 |
| predicted_OBP | 0.250 | 0.010 |
| predicted_R | 1.000 | 0.225 |
| predicted_RBI | 1.000 | 0.506 |
| predicted_SLG | 0.143 | -0.130 |
| 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 | 3.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 | 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 | 2 | - | 15.000 | 1.000 | 0.000 | 0.000 | 1.000 | 1.000 | 2.000 | 5.000 | 0.000 | 0.0667 | 0.3000 | 0.2667 | 0.0667 | 0.0667 | 0.0667 | 0.3333 | 0.0000 |
| last_10 | 0.20 | 3 | - | 32.000 | 6.000 | 0.000 | 0.000 | 4.000 | 4.000 | 10.000 | 8.000 | 0.000 | 0.1875 | 0.3500 | 0.5625 | 0.1875 | 0.1250 | 0.1250 | 0.2500 | 0.0000 |
| season | 0.60 | 38 | - | 461.000 | 76.000 | 12.000 | 0.000 | 7.000 | 30.000 | 49.000 | 33.000 | 72.000 | 0.1649 | 0.2206 | 0.2364 | 0.1649 | 0.0152 | 0.0651 | 0.0716 | 0.1562 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2580 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.0960 |
| predicted_AVG | 0.1607 |
| predicted_BB | 1.2060 |
| predicted_H | 1.7820 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.3040 |
| predicted_OBP | 0.2410 |
| predicted_R | 1.3440 |
| predicted_RBI | 0.8010 |
| predicted_SLG | 0.2665 |
| predicted_SO | 1.5020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0910 | 0.2580 | 0.1634 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4920 | 11.0960 | 6.7864 | model_form_blend |
| predicted_AVG | 0.2240 | 0.1607 | 0.1966 | model_form_blend |
| predicted_BB | 0.2500 | 1.2060 | 0.6642 | model_form_blend |
| predicted_H | 0.6500 | 1.7820 | 1.1404 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.1000 | 0.3040 | 0.1884 | model_form_blend |
| predicted_OBP | 0.2640 | 0.2410 | 0.2540 | model_form_blend |
| predicted_R | 0.3710 | 1.3440 | 0.7925 | model_form_blend |
| predicted_RBI | 0.2800 | 0.8010 | 0.5057 | model_form_blend |
| predicted_SLG | 0.3410 | 0.2665 | 0.3087 | model_form_blend |
| predicted_SO | 0.5450 | 1.5020 | 0.9596 | 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 | 133 |
| Season rows before report date | 133 |
| Report year | 2026 |
| Profile rows used | 132 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.165 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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-RF |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 672761 |
| playerID | 672761 |
| playerName | Wenceel Pérez |
| pos | RF |
| started | True |
| startingPosition | CF |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 15.5 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.225 |
| sl_xwoba | 0.267 |
| sl_xba | 0.206 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 24.0 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 36.0 |
| sl_exit_velocity_avg | 87.8 |
| sl_launch_angle_avg | 14.1 |
| sl_whiff_percent | 17.4 |
| sl_swing_percent | 47.6 |
| at_bat_number | 60.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_on_2b_start | 679529.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 0.0 |
| ab_event | field_out |
| ab_event_description | Wenceel Pérez grounds out, pitcher Brent Suter to first baseman Vaughn Grissom. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 1.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 69.8 |
| ab_launch_angle_last | -52.0 |
| ab_hit_distance_last | 2.0 |
| ab_estimated_ba_last | 0.24 |
| ab_estimated_woba_last | 0.216 |
| ab_estimated_slg_last | 0.244 |
| 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 | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 85.4 |
| ab_release_spin_rate_avg | 2053.0 |
| ab_effective_speed_avg | 87.175 |
| ab_launch_speed_avg | 72.43333333333334 |
| ab_launch_angle_avg | 9.0 |
| ab_delta_run_exp_avg | -0.0515 |
| ab_delta_home_win_exp_avg | -0.00075 |
| ab_delta_pitcher_run_exp_avg | 0.0515 |
| ab_bat_speed_avg | 68.39999999999999 |
| ab_swing_length_avg | 6.233333333333333 |
| ab_launch_speed_max | 80.9 |
| ab_hit_distance_sc_max | 246.0 |
| ab_release_speed_max | 88.5 |
| ab_release_spin_rate_max | 2275.0 |
| ab_release_speed_min | 79.1 |
| ab_release_spin_rate_min | 1520.0 |
| ab_delta_run_exp_sum | -0.206 |
| ab_delta_home_win_exp_sum | -0.003 |
| ab_delta_pitcher_run_exp_sum | 0.206 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.242 | 0.000 | 1.000 | Hitting_2B | 0.242 | 2.000 | -0.242 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.480 | 3.000 | 8.000 | Hitting_AB | 3.464 | 4.000 | -0.464 | -1.000 |
| predicted_AVG | 0.235 | 0.000 | 0.250 | Hitting_AVG | 0.212 | 0.750 | -0.212 | -0.750 |
| predicted_BB | 0.502 | 1.000 | 1.000 | Hitting_BB | 0.502 | 0.000 | 0.498 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_H | 0.820 | 0.000 | 2.000 | Hitting_H | 0.735 | 3.000 | -0.735 | -3.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.152 | 1.000 | -0.152 | -1.000 |
| predicted_OBP | 0.316 | 0.250 | 0.333 | Hitting_OBP | 0.319 | 0.750 | -0.069 | -0.500 |
| predicted_R | 0.360 | 0.000 | 1.000 | Hitting_R | 0.360 | 1.000 | -0.360 | -1.000 |
| predicted_RBI | 0.380 | 0.000 | 1.000 | Hitting_RBI | 0.379 | 1.000 | -0.379 | -1.000 |
| predicted_SLG | 0.431 | 0.000 | 0.375 | Hitting_SLG | 0.413 | 2.000 | -0.413 | -2.000 |
| predicted_SO | 1.318 | 1.000 | 3.000 | Hitting_SO | 1.318 | 1.000 | -0.318 | 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_BB: 0.5020 -> 1.0000 (boost 0.4980, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.4800 -> 7.5813 (boost 4.1013, 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.4893 -> 0.5266 (boost 0.0373, better) | - | 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 | 4 | 2 | predicted_AB: 7.5813 -> 8.0000 (boost 0.4187, better) | predicted_HR: 0.4392 -> 0.0000 (deboost -0.4392, worse) | AB rounded to 8 (raw=7.58), rates preserved: AVG=0.252 HR/AB=0.058 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.8374 -> 1.0000 (boost 0.1626, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 1 | 0 | 1 | 0 | 1 | - | predicted_SLG: 0.5266 -> 0.3750 (deboost -0.1516, 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 | 1 | 1 | 0 | 1 | 0 | predicted_SLG: 0.3750 -> 0.5266 (boost 0.1516, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "679529",
"player_name": "Spencer Torkelson",
"position": "1B",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.0,
"predicted_AB": 3.48,
"predicted_AVG": 0.235,
"predicted_BB": 0.502,
"predicted_H": 0.82,
"predicted_HR": 0.15,
"predicted_OBP": 0.316,
"predicted_R": 0.36,
"predicted_RBI": 0.38,
"predicted_SLG": 0.431,
"predicted_SO": 1.318
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.7652,
"predicted_3B": 0.0009,
"predicted_AB": 7.5813,
"predicted_AVG": 0.2466,
"predicted_BB": 0.961,
"predicted_H": 1.932,
"predicted_HBP": 0.316,
"predicted_HR": 0.4409,
"predicted_OBP": 0.3339,
"predicted_R": 0.8568,
"predicted_RBI": 0.8861,
"predicted_SLG": 0.4893,
"predicted_SO": 2.9326
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.242,
"after": 0.7652,
"delta": 0.5232,
"percent_delta": 2.162,
"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.48,
"after": 7.5813,
"delta": 4.1013,
"percent_delta": 1.1785,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2466,
"delta": 0.0116,
"percent_delta": 0.0494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.502,
"after": 0.961,
"delta": 0.459,
"percent_delta": 0.9143,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.82,
"after": 1.932,
"delta": 1.112,
"percent_delta": 1.3561,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.4409,
"delta": 0.2909,
"percent_delta": 1.9393,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3339,
"delta": 0.0179,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.8568,
"delta": 0.4968,
"percent_delta": 1.38,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.8861,
"delta": 0.5061,
"percent_delta": 1.3318,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4893,
"delta": 0.0583,
"percent_delta": 0.1353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.318,
"after": 2.9326,
"delta": 1.6146,
"percent_delta": 1.225,
"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.48,
"after": 7.5813,
"delta": 4.1013,
"percent_delta": 1.1785,
"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": 3,
"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.7652,
"predicted_3B": 0.0009,
"predicted_AB": 7.5813,
"predicted_AVG": 0.2516,
"predicted_BB": 0.9548,
"predicted_H": 1.9077,
"predicted_HBP": 0.316,
"predicted_HR": 0.4392,
"predicted_OBP": 0.3353,
"predicted_R": 0.8374,
"predicted_RBI": 0.8661,
"predicted_SLG": 0.5266,
"predicted_SO": 2.9517
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.7652,
"after": 0.7652,
"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.5813,
"after": 7.5813,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2466,
"after": 0.2516,
"delta": 0.005,
"percent_delta": 0.0203,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.961,
"after": 0.9548,
"delta": -0.0062,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.932,
"after": 1.9077,
"delta": -0.0243,
"percent_delta": -0.0126,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.316,
"after": 0.316,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4409,
"after": 0.4392,
"delta": -0.0017,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3339,
"after": 0.3353,
"delta": 0.0014,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8568,
"after": 0.8374,
"delta": -0.0194,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8861,
"after": 0.8661,
"delta": -0.02,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4893,
"after": 0.5266,
"delta": 0.0373,
"percent_delta": 0.0762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.9326,
"after": 2.9517,
"delta": 0.0191,
"percent_delta": 0.0065,
"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.4893,
"after": 0.5266,
"delta": 0.0373,
"percent_delta": 0.0762,
"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.58), rates preserved: AVG=0.252 HR/AB=0.058",
"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.7652,
"after": 1.0,
"delta": 0.2348,
"percent_delta": 0.3068,
"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": 7.5813,
"after": 8.0,
"delta": 0.4187,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9548,
"after": 1.0,
"delta": 0.0452,
"percent_delta": 0.0473,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.9077,
"after": 2.0,
"delta": 0.0923,
"percent_delta": 0.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.316,
"after": 0.0,
"delta": -0.316,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.4392,
"after": 0.0,
"delta": -0.4392,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8661,
"after": 1.0,
"delta": 0.1339,
"percent_delta": 0.1546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.9517,
"after": 3.0,
"delta": 0.0483,
"percent_delta": 0.0164,
"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_AB",
"before": 7.5813,
"after": 8.0,
"delta": 0.4187,
"percent_delta": 0.0552,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4392,
"after": 0.0,
"delta": -0.4392,
"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": 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": 0.8374,
"after": 1.0,
"delta": 0.1626,
"percent_delta": 0.1942,
"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.8374,
"after": 1.0,
"delta": 0.1626,
"percent_delta": 0.1942,
"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": 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.2516,
"after": 0.25,
"delta": -0.0016,
"percent_delta": -0.0064,
"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.3353,
"after": 0.333,
"delta": -0.0023,
"percent_delta": -0.0069,
"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.5266,
"after": 0.375,
"delta": -0.1516,
"percent_delta": -0.2879,
"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_SLG",
"before": 0.5266,
"after": 0.375,
"delta": -0.1516,
"percent_delta": -0.2879,
"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": 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": 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": 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.2516,
"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.3353,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5266,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2516,
"delta": 0.0016,
"percent_delta": 0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3353,
"delta": 0.0023,
"percent_delta": 0.007,
"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.375,
"after": 0.5266,
"delta": 0.1516,
"percent_delta": 0.4042,
"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.375,
"after": 0.5266,
"delta": 0.1516,
"percent_delta": 0.4042,
"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.242,
"after": 0.0,
"delta": -0.242,
"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.48,
"after": 3.0,
"delta": -0.48,
"percent_delta": -0.1379,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.235,
"after": 0.2516,
"delta": 0.0166,
"percent_delta": 0.0706,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.502,
"after": 1.0,
"delta": 0.498,
"percent_delta": 0.992,
"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.15,
"after": 0.0,
"delta": -0.15,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.316,
"after": 0.3353,
"delta": 0.0193,
"percent_delta": 0.0611,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.36,
"after": 0.0,
"delta": -0.36,
"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.431,
"after": 0.5266,
"delta": 0.0956,
"percent_delta": 0.2218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.318,
"after": 1.0,
"delta": -0.318,
"percent_delta": -0.2413,
"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.502,
"after": 1.0,
"delta": 0.498,
"percent_delta": 0.992,
"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.242 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.480 | - |
| predicted_AVG | 0.235 | - |
| predicted_BB | 0.502 | - |
| predicted_H | 0.820 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.316 | - |
| predicted_R | 0.360 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.431 | - |
| predicted_SO | 1.318 | - |
Final model 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.765 | 0.523 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.581 | 4.101 |
| predicted_AVG | 0.247 | 0.012 |
| predicted_BB | 0.961 | 0.459 |
| predicted_H | 1.932 | 1.112 |
| predicted_HBP | 0.316 | - |
| predicted_HR | 0.441 | 0.291 |
| predicted_OBP | 0.334 | 0.018 |
| predicted_R | 0.857 | 0.497 |
| predicted_RBI | 0.886 | 0.506 |
| predicted_SLG | 0.489 | 0.058 |
| predicted_SO | 2.933 | 1.615 |
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.765 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.581 | 0.000 |
| predicted_AVG | 0.252 | 0.005 |
| predicted_BB | 0.955 | -0.006 |
| predicted_H | 1.908 | -0.024 |
| predicted_HBP | 0.316 | 0.000 |
| predicted_HR | 0.439 | -0.002 |
| predicted_OBP | 0.335 | 0.001 |
| predicted_R | 0.837 | -0.019 |
| predicted_RBI | 0.866 | -0.020 |
| predicted_SLG | 0.527 | 0.037 |
| predicted_SO | 2.952 | 0.019 |
AB rounded to 8 (raw=7.58), rates preserved: AVG=0.252 HR/AB=0.058
| 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 | 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 | 1.000 | 0.235 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.419 |
| predicted_AVG | 0.250 | -0.002 |
| predicted_BB | 1.000 | 0.045 |
| predicted_H | 2.000 | 0.092 |
| predicted_HR | 0.000 | -0.439 |
| predicted_OBP | 0.333 | -0.002 |
| predicted_R | 1.000 | 0.163 |
| predicted_RBI | 1.000 | 0.134 |
| predicted_SLG | 0.375 | -0.152 |
| predicted_SO | 3.000 | 0.048 |
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 | 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 | 2 | - | 20.000 | 12.000 | 8.000 | 0.000 | 4.000 | 4.000 | 4.000 | 0.000 | 8.000 | 0.6000 | 0.6190 | 1.6000 | 0.6000 | 0.2000 | 0.2000 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 3 | - | 39.000 | 13.000 | 8.000 | 0.000 | 4.000 | 4.000 | 5.000 | 1.000 | 24.000 | 0.3333 | 0.4222 | 0.8462 | 0.3333 | 0.1026 | 0.1026 | 0.0256 | 0.6154 |
| season | 0.60 | 54 | - | 731.000 | 155.000 | 51.000 | 0.000 | 32.000 | 80.000 | 76.000 | 106.000 | 278.000 | 0.2120 | 0.3192 | 0.4131 | 0.2120 | 0.0438 | 0.1094 | 0.1450 | 0.3803 |
| Metric | Value |
|---|---|
| predicted_2B | 1.4310 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.8000 |
| predicted_AVG | 0.2614 |
| predicted_BB | 1.5450 |
| predicted_H | 3.3470 |
| predicted_HBP | 0.3160 |
| predicted_HR | 0.8110 |
| predicted_OBP | 0.3567 |
| predicted_R | 1.4890 |
| predicted_RBI | 1.5300 |
| predicted_SLG | 0.5635 |
| predicted_SO | 4.9870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2420 | 1.4310 | 0.7652 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.4800 | 12.8000 | 7.5813 | model_form_blend |
| predicted_AVG | 0.2350 | 0.2614 | 0.2466 | model_form_blend |
| predicted_BB | 0.5020 | 1.5450 | 0.9610 | model_form_blend |
| predicted_H | 0.8200 | 3.3470 | 1.9320 | model_form_blend |
| predicted_HBP | - | 0.3160 | 0.3160 | form_only |
| predicted_HR | 0.1500 | 0.8110 | 0.4409 | model_form_blend |
| predicted_OBP | 0.3160 | 0.3567 | 0.3339 | model_form_blend |
| predicted_R | 0.3600 | 1.4890 | 0.8568 | model_form_blend |
| predicted_RBI | 0.3800 | 1.5300 | 0.8861 | model_form_blend |
| predicted_SLG | 0.4310 | 0.5635 | 0.4893 | model_form_blend |
| predicted_SO | 1.3180 | 4.9870 | 2.9326 | 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 | 211 |
| Season rows before report date | 211 |
| Report year | 2026 |
| Profile rows used | 211 |
| 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.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 | 2 |
| 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 | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 8 |
| 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 | 20260527_LAA@DET |
| game_type | full |
| mlbID | 679529 |
| playerID | 679529 |
| playerName | Spencer Torkelson |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 32.4 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.309 |
| sl_xwoba | 0.321 |
| sl_xba | 0.208 |
| sl_xslg | 0.402 |
| sl_sweet_spot_percent | 46.8 |
| sl_barrel_batted_rate | 13.6 |
| sl_hard_hit_percent | 43.2 |
| sl_exit_velocity_avg | 90.1 |
| sl_launch_angle_avg | 19.5 |
| sl_whiff_percent | 28.9 |
| sl_swing_percent | 41.7 |
| at_bat_number | 59.0 |
| ab_pitcher | 608718.0 |
| ab_pitcher_name | Suter, Brent |
| ab_home_team | DET |
| ab_away_team | LAA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 4.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 4.0 |
| ab_fld_score_start | 0.0 |
| ab_event | double |
| ab_event_description | Spencer Torkelson doubles (12) on a line drive to center fielder Mike Trout. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 99.5 |
| ab_launch_angle_last | 22.0 |
| ab_hit_distance_last | 384.0 |
| ab_estimated_ba_last | 0.371 |
| ab_estimated_woba_last | 0.483 |
| ab_estimated_slg_last | 0.779 |
| ab_woba_value | 1.25 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 1.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 4.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 4.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 86.18 |
| ab_release_spin_rate_avg | 2105.4 |
| ab_effective_speed_avg | 87.76 |
| ab_launch_speed_avg | 90.25 |
| ab_launch_angle_avg | 36.0 |
| ab_delta_run_exp_avg | 0.1456 |
| ab_delta_home_win_exp_avg | 0.0008 |
| ab_delta_pitcher_run_exp_avg | -0.1456 |
| ab_bat_speed_avg | 70.30000000000001 |
| ab_swing_length_avg | 6.6 |
| ab_launch_speed_max | 99.5 |
| ab_hit_distance_sc_max | 384.0 |
| ab_release_speed_max | 89.9 |
| ab_release_spin_rate_max | 2291.0 |
| ab_release_speed_min | 77.0 |
| ab_release_spin_rate_min | 1610.0 |
| ab_delta_run_exp_sum | 0.7280000000000001 |
| ab_delta_home_win_exp_sum | 0.004 |
| ab_delta_pitcher_run_exp_sum | -0.7280000000000001 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.132 | 0.000 | 0.000 | Hitting_2B | 0.127 | 0.000 | -0.127 | 0.000 |
| predicted_3B | 0.057 | 0.000 | 0.000 | Hitting_3B | 0.055 | 0.000 | -0.055 | 0.000 |
| predicted_AB | 3.000 | 3.000 | 5.000 | Hitting_AB | 2.891 | 3.000 | 0.109 | 0.000 |
| predicted_AVG | 0.234 | 0.000 | 0.200 | Hitting_AVG | 0.138 | 0.000 | -0.138 | 0.000 |
| predicted_BB | 0.283 | 1.000 | 1.000 | Hitting_BB | 0.273 | 1.000 | 0.727 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.560 | 0.000 | 1.000 | Hitting_H | 0.400 | 0.000 | -0.400 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.275 | 0.250 | 0.333 | Hitting_OBP | 0.217 | 0.250 | 0.033 | 0.000 |
| predicted_R | 0.226 | 0.000 | 0.000 | Hitting_R | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_RBI | 0.270 | 0.000 | 0.000 | Hitting_RBI | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_SLG | 0.310 | 0.000 | 0.200 | Hitting_SLG | 0.220 | 0.000 | -0.220 | 0.000 |
| predicted_SO | 1.057 | 1.000 | 2.000 | Hitting_SO | 1.018 | 1.000 | -0.018 | 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.2830 -> 1.0000 (boost 0.7170, better) |
| Biggest Deboost | predicted_H: 0.5600 -> 0.0000 (deboost -0.5600, 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.0000 -> 5.3955 (boost 2.3955, better) | predicted_AVG: 0.2340 -> 0.1965 (deboost -0.0375, 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.1965 -> 0.1548 (deboost -0.0417, 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.5916 -> 1.0000 (boost 0.4084, better) | predicted_RBI: 0.4442 -> 0.0000 (deboost -0.4442, worse) | AB rounded to 5 (raw=5.40), rates preserved: AVG=0.155 HR/AB=0.010 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3852 -> 0.0000 (deboost -0.3852, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2383 -> 0.3330 (boost 0.0947, better) | predicted_SLG: 0.2556 -> 0.2000 (deboost -0.0556, 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: 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.2556 (boost 0.0556, better) | predicted_OBP: 0.3330 -> 0.2383 (deboost -0.0947, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668670",
"player_name": "Jake Rogers",
"position": "C",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.057,
"predicted_AB": 3.0,
"predicted_AVG": 0.234,
"predicted_BB": 0.283,
"predicted_H": 0.56,
"predicted_HR": 0.06,
"predicted_OBP": 0.275,
"predicted_R": 0.226,
"predicted_RBI": 0.27,
"predicted_SLG": 0.31,
"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.2171,
"predicted_3B": 0.0848,
"predicted_AB": 5.3955,
"predicted_AVG": 0.1965,
"predicted_BB": 0.5955,
"predicted_H": 0.8459,
"predicted_HBP": 0.131,
"predicted_HR": 0.0526,
"predicted_OBP": 0.2595,
"predicted_R": 0.3941,
"predicted_RBI": 0.4545,
"predicted_SLG": 0.2743,
"predicted_SO": 1.8525
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.2171,
"delta": 0.0851,
"percent_delta": 0.6447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.057,
"after": 0.0848,
"delta": 0.0278,
"percent_delta": 0.4877,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 5.3955,
"delta": 2.3955,
"percent_delta": 0.7985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.1965,
"delta": -0.0375,
"percent_delta": -0.1603,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 0.5955,
"delta": 0.3125,
"percent_delta": 1.1042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.8459,
"delta": 0.2859,
"percent_delta": 0.5105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0526,
"delta": -0.0074,
"percent_delta": -0.1233,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.275,
"after": 0.2595,
"delta": -0.0155,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.226,
"after": 0.3941,
"delta": 0.1681,
"percent_delta": 0.7438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.4545,
"delta": 0.1845,
"percent_delta": 0.6833,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.31,
"after": 0.2743,
"delta": -0.0357,
"percent_delta": -0.1152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.057,
"after": 1.8525,
"delta": 0.7955,
"percent_delta": 0.7526,
"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.0,
"after": 5.3955,
"delta": 2.3955,
"percent_delta": 0.7985,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.234,
"after": 0.1965,
"delta": -0.0375,
"percent_delta": -0.1603,
"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": 3,
"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.2171,
"predicted_3B": 0.0848,
"predicted_AB": 5.3955,
"predicted_AVG": 0.1548,
"predicted_BB": 0.5916,
"predicted_H": 0.8352,
"predicted_HBP": 0.131,
"predicted_HR": 0.0524,
"predicted_OBP": 0.2383,
"predicted_R": 0.3852,
"predicted_RBI": 0.4442,
"predicted_SLG": 0.2556,
"predicted_SO": 1.8645
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2171,
"after": 0.2171,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0848,
"after": 0.0848,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.3955,
"after": 5.3955,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1965,
"after": 0.1548,
"delta": -0.0417,
"percent_delta": -0.2122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5955,
"after": 0.5916,
"delta": -0.0039,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8459,
"after": 0.8352,
"delta": -0.0107,
"percent_delta": -0.0126,
"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.0526,
"after": 0.0524,
"delta": -0.0002,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2595,
"after": 0.2383,
"delta": -0.0212,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3941,
"after": 0.3852,
"delta": -0.0089,
"percent_delta": -0.0226,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4545,
"after": 0.4442,
"delta": -0.0103,
"percent_delta": -0.0227,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2743,
"after": 0.2556,
"delta": -0.0187,
"percent_delta": -0.0682,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8525,
"after": 1.8645,
"delta": 0.012,
"percent_delta": 0.0065,
"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.1965,
"after": 0.1548,
"delta": -0.0417,
"percent_delta": -0.2122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.40), rates preserved: AVG=0.155 HR/AB=0.010",
"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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2171,
"after": 0.0,
"delta": -0.2171,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0848,
"after": 0.0,
"delta": -0.0848,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 5.3955,
"after": 5.0,
"delta": -0.3955,
"percent_delta": -0.0733,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5916,
"after": 1.0,
"delta": 0.4084,
"percent_delta": 0.6903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8352,
"after": 1.0,
"delta": 0.1648,
"percent_delta": 0.1973,
"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.0524,
"after": 0.0,
"delta": -0.0524,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4442,
"after": 0.0,
"delta": -0.4442,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8645,
"after": 2.0,
"delta": 0.1355,
"percent_delta": 0.0727,
"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.5916,
"after": 1.0,
"delta": 0.4084,
"percent_delta": 0.6903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4442,
"after": 0.0,
"delta": -0.4442,
"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": 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": 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.3852,
"after": 0.0,
"delta": -0.3852,
"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.3852,
"after": 0.0,
"delta": -0.3852,
"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": 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.1548,
"after": 0.2,
"delta": 0.0452,
"percent_delta": 0.292,
"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.2383,
"after": 0.333,
"delta": 0.0947,
"percent_delta": 0.3974,
"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.2556,
"after": 0.2,
"delta": -0.0556,
"percent_delta": -0.2175,
"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.2383,
"after": 0.333,
"delta": 0.0947,
"percent_delta": 0.3974,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2556,
"after": 0.2,
"delta": -0.0556,
"percent_delta": -0.2175,
"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": 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": 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": 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": 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.1548,
"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.2383,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2556,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.1548,
"delta": -0.0452,
"percent_delta": -0.226,
"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.2383,
"delta": -0.0947,
"percent_delta": -0.2843,
"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.2556,
"delta": 0.0556,
"percent_delta": 0.278,
"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.2556,
"delta": 0.0556,
"percent_delta": 0.278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2383,
"delta": -0.0947,
"percent_delta": -0.2843,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.132,
"after": 0.0,
"delta": -0.132,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.057,
"after": 0.0,
"delta": -0.057,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.234,
"after": 0.1548,
"delta": -0.0792,
"percent_delta": -0.3385,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.283,
"after": 1.0,
"delta": 0.717,
"percent_delta": 2.5336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_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.275,
"after": 0.2383,
"delta": -0.0367,
"percent_delta": -0.1335,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.226,
"after": 0.0,
"delta": -0.226,
"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.31,
"after": 0.2556,
"delta": -0.0544,
"percent_delta": -0.1755,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 11,
"boosted_metrics": 1,
"deboosted_metrics": 10,
"better_metrics": 2,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.283,
"after": 1.0,
"delta": 0.717,
"percent_delta": 2.5336,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.56,
"after": 0.0,
"delta": -0.56,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}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.057 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.234 | - |
| predicted_BB | 0.283 | - |
| predicted_H | 0.560 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.275 | - |
| predicted_R | 0.226 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.310 | - |
| 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.217 | 0.085 |
| predicted_3B | 0.085 | 0.028 |
| predicted_AB | 5.396 | 2.396 |
| predicted_AVG | 0.197 | -0.038 |
| predicted_BB | 0.596 | 0.313 |
| predicted_H | 0.846 | 0.286 |
| predicted_HBP | 0.131 | - |
| predicted_HR | 0.053 | -0.007 |
| predicted_OBP | 0.260 | -0.016 |
| predicted_R | 0.394 | 0.168 |
| predicted_RBI | 0.455 | 0.184 |
| predicted_SLG | 0.274 | -0.036 |
| predicted_SO | 1.853 | 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.217 | 0.000 |
| predicted_3B | 0.085 | 0.000 |
| predicted_AB | 5.396 | 0.000 |
| predicted_AVG | 0.155 | -0.042 |
| predicted_BB | 0.592 | -0.004 |
| predicted_H | 0.835 | -0.011 |
| predicted_HBP | 0.131 | 0.000 |
| predicted_HR | 0.052 | -0.000 |
| predicted_OBP | 0.238 | -0.021 |
| predicted_R | 0.385 | -0.009 |
| predicted_RBI | 0.444 | -0.010 |
| predicted_SLG | 0.256 | -0.019 |
| predicted_SO | 1.865 | 0.012 |
AB rounded to 5 (raw=5.40), rates preserved: AVG=0.155 HR/AB=0.010
| 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 | 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 | 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.217 |
| predicted_3B | 0.000 | -0.085 |
| predicted_AB | 5.000 | -0.396 |
| predicted_AVG | 0.200 | 0.045 |
| predicted_BB | 1.000 | 0.408 |
| predicted_H | 1.000 | 0.165 |
| predicted_HR | 0.000 | -0.052 |
| predicted_OBP | 0.333 | 0.095 |
| predicted_R | 0.000 | -0.385 |
| predicted_RBI | 0.000 | -0.444 |
| predicted_SLG | 0.200 | -0.056 |
| predicted_SO | 2.000 | 0.135 |
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 | 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 | 2 | - | 15.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.0667 | 0.2632 | 0.0667 | 0.0667 | 0.0000 | 0.0000 | 0.2667 | 0.3333 |
| last_10 | 0.20 | 3 | - | 30.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 9.000 | 15.000 | 0.0333 | 0.2564 | 0.0333 | 0.0333 | 0.0000 | 0.0000 | 0.3000 | 0.5000 |
| season | 0.60 | 16 | - | 159.000 | 22.000 | 7.000 | 3.000 | 0.000 | 14.000 | 12.000 | 15.000 | 56.000 | 0.1384 | 0.2174 | 0.2201 | 0.1384 | 0.0000 | 0.0881 | 0.0943 | 0.3522 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3400 |
| predicted_3B | 0.1250 |
| predicted_AB | 8.8570 |
| predicted_AVG | 0.1422 |
| predicted_BB | 1.0470 |
| predicted_H | 1.2590 |
| predicted_HBP | 0.1310 |
| predicted_HR | 0.0420 |
| predicted_OBP | 0.2371 |
| predicted_R | 0.6370 |
| predicted_RBI | 0.7210 |
| predicted_SLG | 0.2228 |
| predicted_SO | 3.0020 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1320 | 0.3400 | 0.2171 | model_form_blend |
| predicted_3B | 0.0570 | 0.1250 | 0.0848 | model_form_blend |
| predicted_AB | 3.0000 | 8.8570 | 5.3955 | model_form_blend |
| predicted_AVG | 0.2340 | 0.1422 | 0.1965 | model_form_blend |
| predicted_BB | 0.2830 | 1.0470 | 0.5955 | model_form_blend |
| predicted_H | 0.5600 | 1.2590 | 0.8459 | model_form_blend |
| predicted_HBP | - | 0.1310 | 0.1310 | form_only |
| predicted_HR | 0.0600 | 0.0420 | 0.0526 | model_form_blend |
| predicted_OBP | 0.2750 | 0.2371 | 0.2595 | model_form_blend |
| predicted_R | 0.2260 | 0.6370 | 0.3941 | model_form_blend |
| predicted_RBI | 0.2700 | 0.7210 | 0.4545 | model_form_blend |
| predicted_SLG | 0.3100 | 0.2228 | 0.2743 | model_form_blend |
| predicted_SO | 1.0570 | 3.0020 | 1.8525 | 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 | 55 |
| Season rows before report date | 55 |
| Report year | 2026 |
| Profile rows used | 53 |
| 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.138 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260524_DET@BAL |
| game_type | full |
| mlbID | 668670 |
| playerID | 668670 |
| playerName | Jake Rogers |
| pos | C |
| started | True |
| startingPosition | C |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-24 |
| game_pk | 824839.0 |
| sl_k_percent | 29.6 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.209 |
| sl_xwoba | 0.242 |
| sl_xba | 0.178 |
| sl_xslg | 0.293 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 9.1 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 86.6 |
| sl_launch_angle_avg | 35.9 |
| sl_whiff_percent | 28.7 |
| sl_swing_percent | 43.3 |
| at_bat_number | 60.0 |
| ab_pitcher | 669211.0 |
| ab_pitcher_name | Akin, Keegan |
| ab_home_team | BAL |
| ab_away_team | DET |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 679529.0 |
| ab_on_2b_start | 663837.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 3.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 1.0 |
| ab_event | walk |
| ab_event_description | Jake Rogers walks. Matt Vierling to 3rd. Spencer Torkelson to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 14.0 |
| ab_estimated_woba_last | 0.702667 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 1.0 |
| ab_away_score_end | 3.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 90.46666666666664 |
| ab_release_spin_rate_avg | 2226.1666666666665 |
| ab_effective_speed_avg | 89.2 |
| ab_delta_run_exp_avg | 0.0325 |
| ab_delta_home_win_exp_avg | -0.0025 |
| ab_delta_pitcher_run_exp_avg | -0.0325 |
| ab_release_speed_max | 94.8 |
| ab_release_spin_rate_max | 2390.0 |
| ab_release_speed_min | 85.5 |
| ab_release_spin_rate_min | 2003.0 |
| ab_delta_run_exp_sum | 0.195 |
| ab_delta_home_win_exp_sum | -0.015 |
| ab_delta_pitcher_run_exp_sum | -0.195 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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_BB | 7.000 | 7.000 | 7.000 | Pitching_BB | 2.636 | 0.000 | 4.364 | 7.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.818 | 3.000 | 0.182 | 0.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 4.455 | 8.000 | 0.545 | -3.000 |
| predicted_IP | 4.100 | 4.100 | 4.100 | Pitching_InningsPitched | 4.082 | 3.100 | 0.018 | 1.000 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 5.000 | 7.000 | 0.000 | -2.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": "656427",
"player_name": "Jack Flaherty",
"position": "Starter",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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": 7.0,
"predicted_ER": 2.0,
"predicted_H": 4.0,
"predicted_HR": 0.0,
"predicted_IP": 4.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_quality_floor",
"description": "Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows.",
"stats": {
"predicted_BB": 7.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 7.0,
"after": 7.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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 5.0,
"after": 5.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": 7.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 0.0,
"predicted_IP": 4.1,
"predicted_R": 3.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 7.0,
"after": 7.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.1,
"after": 4.1,
"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": 7.0,
"after": 7.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": 4.0,
"after": 5.0,
"delta": 1.0,
"percent_delta": 0.25,
"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": 5.0,
"after": 5.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 | 7.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 4.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 4.333 | - |
| predicted_SO | 5.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 | 7.000 | 0.000 |
| predicted_ER | 3.000 | 1.000 |
| predicted_H | 5.000 | 1.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.100 | -0.233 |
| 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 | 21.200 | 16.000 | 27.000 | 7.000 | 27.000 | 4.000 | 6.6462 | 1.5692 | 0.7385 | 1.2462 | 0.3231 | 1.2462 | 0.1846 |
| last_10 | 0.35 | 10 | 42.200 | 29.000 | 45.000 | 25.000 | 53.000 | 8.000 | 6.1172 | 1.6406 | 0.6797 | 1.0547 | 0.5859 | 1.2422 | 0.1875 |
| season | 0.20 | 11 | 47.000 | 31.000 | 49.000 | 29.000 | 55.000 | 8.000 | 5.9362 | 1.6596 | 0.6596 | 1.0426 | 0.6170 | 1.1702 | 0.1702 |
| Metric | Value |
|---|---|
| predicted_BB | 1.9120 |
| predicted_ER | 2.7300 |
| predicted_ERA | 5.6697 |
| predicted_H | 4.6690 |
| predicted_HR | 0.7220 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.9420 |
| predicted_WHIP | 1.5185 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 7.0000 | 1.9120 | 4.3646 | model_form_blend |
| predicted_ER | 2.0000 | 2.7300 | 2.3781 | model_form_blend |
| predicted_ERA | - | 5.6697 | 5.6697 | form_only |
| predicted_H | 4.0000 | 4.6690 | 4.3465 | model_form_blend |
| predicted_HR | 0.0000 | 0.7220 | 0.3740 | model_form_blend |
| predicted_IP | 4.1000 | 4.1000 | 4.1000 | model_form_blend |
| predicted_SO | 5.0000 | 4.9420 | 4.9700 | model_form_blend |
| predicted_WHIP | - | 1.5185 | 1.5185 | 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 | 5 |
| R | 3 |
| ER | 3 |
| BB | 7 |
| SO | 5 |
| HR | 0 |
| BF | 25 |
| Pitches | 98 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 1 |
| Pitching_Batters Faced | 19 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.94 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 8 |
| Pitching_HBP | 0 |
| Pitching_HR | 2 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.1 |
| Pitching_Pitches | 78 |
| Pitching_R | 6 |
| Pitching_SO | 7 |
| Pitching_Strikes | 54 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260522_DET@BAL |
| game_type | full |
| mlbID | 656427 |
| playerID | 656427 |
| playerName | Jack Flaherty |
| pos | P |
| started | True |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-22 |
| game_pk | 824842.0 |
| sl_k_percent | 24.4 |
| sl_bb_percent | 12.9 |
| sl_woba | 0.37 |
| sl_xwoba | 0.351 |
| sl_sweet_spot_percent | 38.2 |
| sl_barrel_batted_rate | 9.6 |
| sl_hard_hit_percent | 47.1 |
| sl_whiff_percent | 24.3 |
| sl_swing_percent | 43.6 |
| sv_pitch_count | 78.0 |
| sv_outs_recorded_est | 10.0 |
| sv_release_speed | 86.13589743589743 |
| sv_release_spin_rate | 2305.9615384615386 |
| sv_effective_speed | 86.18461538461538 |
| sv_launch_speed | 77.45357142857142 |
| sv_launch_angle | 14.892857142857142 |
| sv_woba_value | 11.0 |
| sv_woba_denom | 19.0 |
| sv_delta_run_exp | 3.387 |
| sv_delta_home_win_exp | 0.496 |
| sl_avg_best_speed | 81.244181515 |
| sl_avg_hyper_speed | 95.082925267 |
| 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.889 | 0.000 | -0.889 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.778 | 0.000 | -0.778 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.500 | 0.000 | -0.500 | 1.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 1.894 | 3.000 | -0.694 | -1.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 2.500 | 3.000 | -1.500 | -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": "623454",
"player_name": "Drew Anderson",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.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": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.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": 1.0,
"after": 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.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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.3333,
"after": 1.2,
"delta": -0.1333,
"percent_delta": -0.1,
"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.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 | 0.000 | - |
| predicted_H | 1.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 | 14.000 | 0.000 | 5.000 | 4.000 | 16.000 | 0.000 | 0.0000 | 0.6429 | 0.0000 | 0.3571 | 0.2857 | 1.1429 | 0.0000 |
| last_10 | 0.35 | 10 | 24.100 | 4.000 | 15.000 | 9.000 | 33.000 | 1.000 | 1.4795 | 0.9863 | 0.1644 | 0.6164 | 0.3699 | 1.3562 | 0.0411 |
| season | 0.20 | 18 | 36.200 | 14.000 | 27.000 | 16.000 | 45.000 | 3.000 | 3.4364 | 1.1727 | 0.3818 | 0.7364 | 0.4364 | 1.2273 | 0.0818 |
| Metric | Value |
|---|---|
| predicted_BB | 0.7010 |
| predicted_ER | 0.5360 |
| predicted_ERA | 2.4462 |
| predicted_H | 1.3720 |
| predicted_HR | 0.1420 |
| predicted_IP | 2.0000 |
| predicted_SO | 2.2020 |
| predicted_WHIP | 1.0502 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.7010 | 0.3346 | model_form_blend |
| predicted_ER | 0.0000 | 0.5360 | 0.2558 | model_form_blend |
| predicted_ERA | - | 2.4462 | 2.4462 | form_only |
| predicted_H | 1.0000 | 1.3720 | 1.1775 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0678 | model_form_blend |
| predicted_IP | 1.1000 | 2.0000 | 1.2000 | model_form_blend |
| predicted_SO | 1.0000 | 2.2020 | 1.5737 | model_form_blend |
| predicted_WHIP | - | 1.0502 | 1.0502 | 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.2 |
| H | 1 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| 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 | 9 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.44 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 3 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 35 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 26 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 623454 |
| playerID | 623454 |
| playerName | Drew Anderson |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 29.2 |
| sl_bb_percent | 11.8 |
| sl_woba | 0.299 |
| sl_xwoba | 0.28 |
| sl_sweet_spot_percent | 27.4 |
| sl_barrel_batted_rate | 7.2 |
| sl_hard_hit_percent | 39.3 |
| sl_whiff_percent | 30.4 |
| sl_swing_percent | 48.1 |
| sv_pitch_count | 35.0 |
| sv_outs_recorded_est | 9.0 |
| sv_release_speed | 89.5 |
| sv_release_spin_rate | 2163.1428571428573 |
| sv_effective_speed | 89.94285714285714 |
| sv_launch_speed | 80.36153846153846 |
| sv_launch_angle | 24.714285714285715 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 8.0 |
| sv_delta_run_exp | -2.267 |
| sv_delta_home_win_exp | 0.157 |
| sl_avg_best_speed | 80.147984634 |
| sl_avg_hyper_speed | 94.360068902 |
| 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 | 1.000 | -0.500 | -1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.444 | 0.000 | 0.556 | 1.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 0.500 | 0.000 | 1.500 | 2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.756 | 0.200 | 0.244 | 0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.056 | 0.000 | -0.056 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | - |
| Biggest Deboost | predicted_ER: 2.0000 -> 1.0000 (deboost -1.0000, better) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 2 | 0 | - | predicted_ER: 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": "445276",
"player_name": "Kenley Jansen",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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": 2.0,
"predicted_H": 3.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": 2.0,
"predicted_HR": 1.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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
"has_material_change": true,
"dominant_effect": "better"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 2.000 | - |
| predicted_H | 3.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 | 3.000 | 1.000 | 4.000 | 4.000 | 1.000 | 5.7857 | 1.0714 | 0.6429 | 0.2143 | 0.8571 | 0.8571 | 0.2143 |
| last_10 | 0.35 | 10 | 9.100 | 5.000 | 4.000 | 7.000 | 12.000 | 2.000 | 4.8214 | 1.1786 | 0.5357 | 0.4286 | 0.7500 | 1.2857 | 0.2143 |
| season | 0.20 | 17 | 15.000 | 6.000 | 8.000 | 8.000 | 19.000 | 3.000 | 3.6000 | 1.0667 | 0.4000 | 0.5333 | 0.5333 | 1.2667 | 0.2000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5130 |
| predicted_ER | 0.5030 |
| predicted_ERA | 4.5274 |
| predicted_H | 0.7240 |
| predicted_HR | 0.1610 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9980 |
| predicted_WHIP | 1.2362 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5130 | 0.1973 | model_form_blend |
| predicted_ER | 2.0000 | 0.5030 | 1.4243 | model_form_blend |
| predicted_ERA | - | 4.5274 | 4.5274 | form_only |
| predicted_H | 3.0000 | 0.7240 | 2.1247 | model_form_blend |
| predicted_HR | 1.0000 | 0.1610 | 0.6773 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.9980 | 0.9992 | model_form_blend |
| predicted_WHIP | - | 1.2362 | 1.2362 | 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 | 2 |
| R | 1 |
| ER | 1 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.80 |
| 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 | 0 |
| Pitching_Strikes | 4 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 445276 |
| playerID | 445276 |
| playerName | Kenley Jansen |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 32.2 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.32 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 12.5 |
| sl_hard_hit_percent | 34.4 |
| sl_whiff_percent | 29.8 |
| sl_swing_percent | 44.7 |
| sv_pitch_count | 9.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 91.73333333333332 |
| sv_release_spin_rate | 2664.111111111112 |
| sv_effective_speed | 93.02222222222224 |
| sv_launch_speed | 60.1 |
| sv_launch_angle | -15.5 |
| sv_woba_value | 0.7 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.18 |
| sv_delta_home_win_exp | 0.011 |
| sl_avg_best_speed | 75.0317325 |
| sl_avg_hyper_speed | 93.966272188 |
| 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.760 | 0.000 | -0.760 | 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.840 | 0.000 | -0.840 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.924 | 1.000 | 0.076 | 0.000 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.600 | 0.000 | -0.600 | 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": "640448",
"player_name": "Kyle Finnegan",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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 | 4.000 | 1.000 | 1.000 | 3.6000 | 2.0000 | 0.4000 | 1.2000 | 0.8000 | 0.2000 | 0.2000 |
| last_10 | 0.35 | 10 | 11.000 | 2.000 | 10.000 | 8.000 | 4.000 | 1.000 | 1.6364 | 1.6364 | 0.1818 | 0.9091 | 0.7273 | 0.3636 | 0.0909 |
| season | 0.20 | 24 | 25.200 | 3.000 | 18.000 | 18.000 | 15.000 | 2.000 | 1.0519 | 1.4026 | 0.1169 | 0.7013 | 0.7013 | 0.5844 | 0.0779 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5630 |
| predicted_ER | 0.3680 |
| predicted_ERA | 3.3164 |
| predicted_H | 0.9710 |
| predicted_HR | 0.1340 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.6370 |
| predicted_WHIP | 1.5341 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5630 | 0.2478 | model_form_blend |
| predicted_ER | 0.0000 | 0.3680 | 0.1619 | model_form_blend |
| predicted_ERA | - | 3.3164 | 3.3164 | form_only |
| predicted_H | 0.0000 | 0.9710 | 0.4273 | model_form_blend |
| predicted_HR | 0.0000 | 0.1340 | 0.0590 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.6370 | 0.2803 | model_form_blend |
| predicted_WHIP | - | 1.5341 | 1.5341 | 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 | 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 | 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.75 |
| 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 | 16 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_LAA@DET |
| game_type | full |
| mlbID | 640448 |
| playerID | 640448 |
| playerName | Kyle Finnegan |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-27 |
| game_pk | 824270.0 |
| sl_k_percent | 14.3 |
| sl_bb_percent | 18.1 |
| sl_woba | 0.354 |
| sl_xwoba | 0.332 |
| sl_sweet_spot_percent | 26.8 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 42.3 |
| sl_whiff_percent | 22.3 |
| sl_swing_percent | 43.9 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 92.30625 |
| sv_release_spin_rate | 1734.8125 |
| sv_effective_speed | 93.15 |
| sv_launch_speed | 76.55 |
| sv_launch_angle | 34.25 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.756 |
| sv_delta_home_win_exp | 0.024 |
| sl_avg_best_speed | 76.364301714 |
| sl_avg_hyper_speed | 94.544271286 |
| 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.412 | 1.000 | -0.412 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.824 | 5.000 | -0.824 | -5.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 4.000 | -1.000 | -4.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.818 | 1.100 | 0.182 | -0.100 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.000 | 1.000 | 1.000 | 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": "676684",
"player_name": "Will Vest",
"position": "Middle Reliever",
"team": "DET",
"interpretation": "Boost/deboost is numeric movement 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.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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 | 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 | 6.000 | 6.000 | 1.000 | 5.000 | 1.000 | 10.1250 | 1.3125 | 1.1250 | 1.1250 | 0.1875 | 0.9375 | 0.1875 |
| last_10 | 0.35 | 10 | 10.100 | 9.000 | 11.000 | 4.000 | 11.000 | 2.000 | 7.8387 | 1.4516 | 0.8710 | 1.0645 | 0.3871 | 1.0645 | 0.1935 |
| season | 0.20 | 17 | 16.000 | 14.000 | 17.000 | 7.000 | 17.000 | 2.000 | 7.8750 | 1.5000 | 0.8750 | 1.0625 | 0.4375 | 1.0625 | 0.1250 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3450 |
| predicted_ER | 0.6700 |
| predicted_ERA | 6.0339 |
| predicted_H | 1.0000 |
| predicted_HR | 0.1490 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9680 |
| predicted_WHIP | 1.3456 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3450 | 0.1349 | model_form_blend |
| predicted_ER | 0.0000 | 0.6700 | 0.2619 | model_form_blend |
| predicted_ERA | - | 6.0339 | 6.0339 | form_only |
| predicted_H | 0.0000 | 1.0000 | 0.3910 | model_form_blend |
| predicted_HR | 0.0000 | 0.1490 | 0.0583 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.9680 | 1.5965 | model_form_blend |
| predicted_WHIP | - | 1.3456 | 1.3456 | 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 | 1.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 2 |
| HR | 0 |
| BF | 3 |
| 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 | 9 |
| Pitching_ER | 5 |
| Pitching_ERA | 7.88 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 2 |
| Pitching_H | 4 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 34 |
| Pitching_R | 5 |
| Pitching_SO | 1 |
| Pitching_Strikes | 21 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260526_LAA@DET |
| game_type | full |
| mlbID | 676684 |
| playerID | 676684 |
| playerName | Will Vest |
| pos | P |
| started | False |
| startingPosition | P |
| team | DET |
| teamID | 10 |
| game_date | 2026-05-26 |
| game_pk | 824275.0 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 9.7 |
| sl_woba | 0.329 |
| sl_xwoba | 0.307 |
| sl_sweet_spot_percent | 22.9 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 33.3 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 47.1 |
| sv_pitch_count | 34.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 93.39117647058823 |
| sv_release_spin_rate | 2312.676470588235 |
| sv_effective_speed | 93.58529411764708 |
| sv_launch_speed | 88.51818181818182 |
| sv_launch_angle | 4.636363636363637 |
| sv_woba_value | 5.75 |
| sv_woba_denom | 9.0 |
| sv_delta_run_exp | 2.102 |
| sv_delta_home_win_exp | -0.6070000000000001 |
| sl_avg_best_speed | 78.49824913 |
| sl_avg_hyper_speed | 94.256772826 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | MIN 1 - 2 CHW | CHW | 0.510 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | MIN 0 - 3 CHW | CHW | - | 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 | 6.3000 |
| 8. Probability/governors | Applies win probability calibration, matchup guardrails, margin governor and confidence governor. | win_probability_calibration, margin_governor, confidence_governor | 0.5100 |
| 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.200 | 4.600 | - | Base ML historical model prediction |
| 2 | variance_applied | 4 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 1 | 2 | 0.5100 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 1 | 2 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 1 | 2 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 0 | 3 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.729043130546624,
"base_low_score_probability": 0.4340836012861736,
"low_score_signal_threshold": 0.5140836012861736,
"low_score_signal_strength": 0.2949595292604503,
"confidence": 0.9,
"factors": {
"environmental": 1.1566800000000002,
"pitcher_form": 1.4520000000000002,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.6794993600000003
},
"prediction": "low_scoring",
"expected_total_runs": 3,
"pre_simulation_expected_total_runs": 6.3,
"low_score_model_expected_total_runs": 6.3,
"final_simulation_total_runs": 3,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 30,
"near_bucket_sample_size": 21,
"medium_bucket_sample_size": 30,
"wide_bucket_sample_size": 34,
"global_sample_size": 35,
"bucket_scope": "pooled_0.08",
"sparse_bucket": false,
"empirical_hit_rate": 0.5,
"bayesian_hit_rate": 0.5,
"sample_weight": 0.5312,
"prior_strength": 18.0,
"reliability": 0.625,
"confidence_cap": 0.78,
"raw_pick_probability": 0.5019,
"calibrated_pick_probability": 0.505,
"predicted_side": "home"
}{
"applied": false,
"home": {
"team": "CHW",
"games": 55,
"wins": 28,
"losses": 27,
"win_pct": 0.509090909090909,
"runs_scored": 256,
"runs_allowed": 260,
"run_differential": -4,
"run_differential_per_game": -0.07272727272727272,
"available": true
},
"away": {
"team": "MIN",
"games": 56,
"wins": 27,
"losses": 29,
"win_pct": 0.48214285714285715,
"runs_scored": 256,
"runs_allowed": 265,
"run_differential": -9,
"run_differential_per_game": -0.16071428571428573,
"available": true
},
"run_differential_edge_per_game": 0.088,
"win_pct_edge": 0.0269,
"quality_edge": 0.1284,
"margin_adjustment": 0.0,
"reason": "season quality edge below action threshold"
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "CHW",
"guardrail_predicted_team": "CHW",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "CHW",
"output_opponent_team": "MIN",
"final_score_winner": "CHW",
"pre_simulation_winner": "CHW",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "MIN 1 - 2 CHW",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 0,
"home_runs": 3,
"score_text": "MIN 0 - 3 CHW",
"winner": "CHW"
},
"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": "CHW",
"games": 55,
"wins": 28,
"losses": 27,
"win_pct": 0.509090909090909,
"runs_scored": 256,
"runs_allowed": 260,
"run_differential": -4,
"run_differential_per_game": -0.07272727272727272,
"available": true
},
"away": {
"team": "MIN",
"games": 56,
"wins": 27,
"losses": 29,
"win_pct": 0.48214285714285715,
"runs_scored": 256,
"runs_allowed": 265,
"run_differential": -9,
"run_differential_per_game": -0.16071428571428573,
"available": true
}
}
}{
"applied": false,
"raw_margin": 0.0063,
"final_margin": 0.0063,
"margin_cap": 1.5,
"season_quality_edge": 0.1284,
"reason": "raw target margin within supported range"
}{
"applied": false,
"raw_confidence": 0.500635,
"final_confidence": 0.505,
"confidence_cap": 0.63,
"score_gap": 0.0063,
"calibration_sample_size": 30,
"calibration_empirical_hit_rate": 0.5,
"calibration_bayesian_hit_rate": 0.5,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.1284,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is close",
"local calibration sample has at least 30 games",
"win-probability calibration cap enforced"
]
}{
"pre_simulation_score": {
"away_runs": 1,
"home_runs": 2,
"score_text": "MIN 1 - 2 CHW",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 0,
"home_runs": 3,
"score_text": "MIN 0 - 3 CHW",
"winner": "CHW"
},
"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": 1,
"home_runs": 2,
"confidence": 0.51,
"home_win_probability": 0.51,
"away_win_probability": 0.49,
"predicted_score_text": "MIN 1 - 2 CHW",
"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": "MIN",
"original_runs": 1,
"run_delta": -0.2108,
"adjusted_runs": 1,
"lineup": {
"players_used": 9,
"total_weight": 65.0,
"quality": -0.0014734069268199483,
"contact": -0.1422539731452347,
"power": 0.09995115175826426,
"discipline": -0.2221999336510317,
"xwoba": 0.3136923076923077,
"recent_xwoba": 0.3136923076923077,
"barrel": 9.452307692307691,
"ab_hard_contact": 0.07350801685024075,
"ab_bat_speed": 70.43223928040709,
"ab_strikeout_rate": 0.24110982376092188,
"available_players": 9,
"top_players": [
{
"player_id": "621439",
"player_name": "Byron Buxton",
"position": "DH",
"weight": 10.0,
"quality": 0.4599105397907692,
"contact": 0.14938712116402234,
"power": 1.4492160463927564,
"discipline": -0.5973253968253968,
"xwoba": 0.333,
"recent_xwoba": 0.333,
"barrel": 19.3,
"ab_hard_contact": 0.3940352135693856,
"ab_bat_speed": 72.54039135802469,
"ab_strikeout_rate": 0.2611111111111111,
"available": 1.0
},
{
"player_id": "686797",
"player_name": "Brooks Lee",
"position": "3B",
"weight": 8.0,
"quality": -0.6220801131458652,
"contact": -0.7364641709523796,
"power": -0.7627306426564374,
"discipline": -0.008952380952380865,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 4.7,
"ab_hard_contact": -0.42108904360496596,
"ab_bat_speed": 68.26153444444444,
"ab_strikeout_rate": 0.18366666666666667,
"available": 1.0
},
{
"player_id": "606115",
"player_name": "Orlando Arcia",
"position": "2B",
"weight": 5.0,
"quality": -0.061073485171464784,
"contact": -0.45417619047618935,
"power": -1.2974450647624465,
"discipline": -0.9422619047619046,
"xwoba": 0.273,
"recent_xwoba": 0.273,
"barrel": 0.0,
"ab_hard_contact": 0.037003466655804604,
"ab_bat_speed": 70.12633333333333,
"ab_strikeout_rate": 0.2333333333333333,
"available": 1.0
},
{
"player_id": "665019",
"player_name": "Kody Clemens",
"position": "RF",
"weight": 8.0,
"quality": 0.2407686200458633,
"contact": 0.19352557026713293,
"power": 0.6732375223236975,
"discipline": -0.17354181184668982,
"xwoba": 0.323,
"recent_xwoba": 0.323,
"barrel": 13.1,
"ab_hard_contact": 0.6079885417120163,
"ab_bat_speed": 68.7874007936508,
"ab_strikeout_rate": 0.2597560975609756,
"available": 1.0
},
{
"player_id": "663616",
"player_name": "Trevor Larnach",
"position": "LF",
"weight": 7.0,
"quality": -0.1943487151427058,
"contact": -0.23581420329670236,
"power": -0.5852623659668466,
"discipline": 0.7789310134310135,
"xwoba": 0.323,
"recent_xwoba": 0.323,
"barrel": 6.1,
"ab_hard_contact": -0.5841044621940972,
"ab_bat_speed": 69.18891096866098,
"ab_strikeout_rate": 0.20085470085470084,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "663436",
"player_name": "Davis Martin",
"quality": 0.11219278274902734,
"contact": -0.14670812655026488,
"command": 0.6815305961811431,
"movement": 0.3668802000310586,
"xwoba": 0.3,
"whiff": 28.0,
"faced_est_woba": 0.30247945999773174,
"faced_launch_speed": 84.84616858933859,
"faced_strikeout_rate": 0.2740272609837827,
"faced_run_exp": 0.006151209670266083
}
},
"home": {
"team": "CHW",
"original_runs": 2,
"run_delta": 0.2431,
"adjusted_runs": 2,
"lineup": {
"players_used": 9,
"total_weight": 63.0,
"quality": 0.2698158936698569,
"contact": 0.2051184902685111,
"power": 0.41303541541112265,
"discipline": 0.07310248145327705,
"xwoba": 0.3348412698412699,
"recent_xwoba": 0.3348412698412699,
"barrel": 10.476190476190476,
"ab_hard_contact": 0.14621484038027974,
"ab_bat_speed": 69.60592465250271,
"ab_strikeout_rate": 0.23762881106372974,
"available_players": 9,
"top_players": [
{
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"weight": 9.0,
"quality": 1.0671828079076846,
"contact": 0.6968495345911957,
"power": 2.0,
"discipline": 0.06850089847259658,
"xwoba": 0.375,
"recent_xwoba": 0.375,
"barrel": 20.7,
"ab_hard_contact": 1.1142917568509345,
"ab_bat_speed": 73.47192243186582,
"ab_strikeout_rate": 0.3484276729559749,
"available": 1.0
},
{
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"weight": 9.0,
"quality": 1.1419183141986546,
"contact": 1.0310557834249094,
"power": 1.3820210198427632,
"discipline": 1.1212142857142857,
"xwoba": 0.392,
"recent_xwoba": 0.392,
"barrel": 15.0,
"ab_hard_contact": 0.5434680159028539,
"ab_bat_speed": 72.43857982295482,
"ab_strikeout_rate": 0.175,
"available": 1.0
},
{
"player_id": "545341",
"player_name": "Randal Grichuk",
"position": "DH",
"weight": 3.0,
"quality": 0.3596754488621144,
"contact": 1.3708930402930404,
"power": 1.9466567935767944,
"discipline": -0.7812765567765566,
"xwoba": 0.38999999999999996,
"recent_xwoba": 0.39,
"barrel": 18.2,
"ab_hard_contact": 1.551802538202537,
"ab_bat_speed": 72.06863247863248,
"ab_strikeout_rate": 0.2032051282051282,
"available": 1.0
},
{
"player_id": "700337",
"player_name": "Edgar Quero",
"position": "C",
"weight": 7.0,
"quality": -0.5400884603931536,
"contact": -1.351677175883256,
"power": -1.3486957818117404,
"discipline": -0.19009216589861752,
"xwoba": 0.246,
"recent_xwoba": 0.246,
"barrel": 1.3,
"ab_hard_contact": -0.9053442076633965,
"ab_bat_speed": 66.81839605734767,
"ab_strikeout_rate": 0.27580645161290324,
"available": 1.0
},
{
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "LF",
"weight": 8.0,
"quality": 0.46098191213311074,
"contact": 1.2755481462585045,
"power": 0.29321869912644233,
"discipline": 0.28878571428571437,
"xwoba": 0.383,
"recent_xwoba": 0.383,
"barrel": 8.0,
"ab_hard_contact": 0.5961835063383439,
"ab_bat_speed": 68.67140873015873,
"ab_strikeout_rate": 0.12285714285714285,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "696070",
"player_name": "Kendry Rojas",
"quality": -0.01064575817259191,
"contact": -0.08639446859559072,
"command": -0.21863504671193842,
"movement": 0.6250960439110167,
"xwoba": 0.304,
"whiff": 29.3,
"faced_est_woba": 0.3476045516748366,
"faced_launch_speed": 84.45665043290043,
"faced_strikeout_rate": 0.2068627450980392,
"faced_run_exp": -0.0007939869281045845
}
}
},
"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": 2,
"predicted_score_text": "MIN 1 - 2 CHW",
"confidence": 0.51,
"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": 2,
"score_text": "MIN 1 - 2 CHW",
"winner": "CHW"
},
"final_simulation_score": {
"away_runs": 0,
"home_runs": 3,
"score_text": "MIN 0 - 3 CHW",
"winner": "CHW"
},
"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 MIN | True | 1.0050 | 1.0050 | 1 | 9 | 0 |
| Home CHW | True | 1.0335 | 1.0335 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LF | Trevor Larnach | 74 | 0.9946 | -0.0718 | negative_batter_regression | 0.3230 | 0.2400 | 0.3490 | 6.10 | 32.30 | 86.50 | 11.30 | 26.30 | 18.50 | 14.60 | -1.0286 |
| 3B | Brooks Lee | 160 | 0.9496 | -0.6717 | negative_batter_regression | 0.2750 | 0.2250 | 0.3360 | 4.70 | 28.70 | 87 | 12.20 | 20.70 | 17.90 | 6.50 | -1.4286 |
| DH | Byron Buxton | 37 | 1.0463 | 0.6179 | negative_batter_regression | 0.3330 | 0.2310 | 0.4900 | 19.30 | 46.40 | 90 | 24 | 31.50 | 25.80 | 7 | -1.3429 |
| RF | Kody Clemens | 144 | 1.0254 | 0.3381 | neutral | 0.3230 | 0.2340 | 0.4100 | 13.10 | 41.10 | 91.90 | 15.70 | 24.70 | 23.30 | 8 | 0.0571 |
| 2B | Orlando Arcia | 214 | 0.9698 | -0.4030 | negative_batter_regression | 0.2730 | 0.2960 | 0.3310 | 0 | 16.70 | 84.50 | 6 | 21.20 | 20 | 0 | -2 |
| 1B | Josh Bell | 504 | 1.0136 | 0.1816 | neutral | 0.3000 | 0.2270 | 0.3960 | 9.70 | 42.10 | 89.80 | 14.80 | 26.20 | 22.40 | 8.10 | 0.6000 |
| C | Victor Caratini | 457 | 1.0222 | 0.2957 | positive_batter_regression | 0.3280 | 0.2430 | 0.3710 | 5.10 | 36.70 | 88.60 | 11.50 | 22.20 | 20.80 | 8.70 | 2 |
| SS | Tristan Gray | 292 | 1.0100 | 0.1328 | neutral | 0.3150 | 0.2470 | 0.3880 | 10.20 | 38 | 88.50 | 11.50 | 37.90 | 34.10 | 8 | 0.5429 |
| CF | Ryan Kreidler | 201 | 1.0135 | 0.1800 | negative_batter_regression | 0.3440 | 0.2460 | 0.4660 | 10.30 | 34.50 | 88.90 | 13.60 | 32.30 | 27.70 | 10.60 | -1.4857 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2B | Chase Meidroth | 65 | 0.9822 | -0.2367 | neutral | 0.3010 | 0.2420 | 0.3460 | 4.80 | 37.40 | 87.60 | 8 | 19.20 | 23.10 | 10 | -0.6571 |
| DH | Randal Grichuk | 312 | 1.0650 | 0.8669 | positive_batter_regression | 0.3900 | 0.2960 | 0.5910 | 18.20 | 47.70 | 91.80 | 15.70 | 25.90 | 24.20 | 3.20 | 1.4571 |
| 3B | Miguel Vargas | 28 | 1.1202 | 1.6032 | neutral | 0.3920 | 0.2520 | 0.5290 | 15 | 45.10 | 90 | 20.80 | 19.30 | 16.50 | 14.80 | 0.6571 |
| 1B | Munetaka Murakami | 45 | 1.0994 | 1.3250 | neutral | 0.3750 | 0.2180 | 0.5250 | 20.70 | 57.80 | 94.10 | 14 | 42.30 | 32.80 | 17.40 | -0.5429 |
| SS | Colson Montgomery | 60 | 1.0251 | 0.3347 | neutral | 0.3240 | 0.2110 | 0.4340 | 13.40 | 42.50 | 89.80 | 20.10 | 37.60 | 30 | 9.40 | -0.6286 |
| C | Edgar Quero | 467 | 0.9577 | -0.5639 | neutral | 0.2460 | 0.1810 | 0.2440 | 1.30 | 28.90 | 89.60 | 8.20 | 27 | 25.60 | 9.10 | 0.6000 |
| RF | Derek Hill | 313 | 1.0095 | 0.1268 | neutral | 0.3250 | 0.2500 | 0.4040 | 9.80 | 35.70 | 89.10 | 16.10 | 31.10 | 27.90 | 10.30 | -0.2286 |
| LF | Sam Antonacci | 124 | 1.0568 | 0.7579 | positive_batter_regression | 0.3830 | 0.3150 | 0.4470 | 8 | 38.60 | 88.40 | 10.40 | 16.20 | 14.20 | 6.40 | 1.1429 |
| CF | Luisangel Acuña | 506 | 0.9856 | -0.1921 | positive_batter_regression | 0.2670 | 0.2370 | 0.2970 | 2.60 | 37.70 | 89.10 | 2.30 | 24.20 | 18.40 | 5.80 | 2 |
{
"home": {
"applied": true,
"offense_factor": 1.0335,
"raw_average_factor": 1.0335,
"team_espn_average_rank": 213.33,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "2B",
"player_id": "805367",
"player_name": "Chase Meidroth",
"offense_factor": 0.9822,
"quality_score": -0.2367,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "805367",
"espn_id": 5136929,
"player_name": "Chase Meidroth",
"team": "CHW",
"role": "batter",
"espn_rank": 65,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 65,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 198.0,
"ab_rank": 60,
"r_value": 33.0,
"r_rank": 36,
"h_value": 54.0,
"h_rank": 39,
"avg_value": 0.2727272,
"avg_rank": 47.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 18.0,
"rbi_rank": 166,
"tb_value": 78.0,
"tb_rank": 782,
"bb_value": 23.0,
"bb_rank": 59,
"so_value": 51.0,
"so_rank": 62,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3452914,
"obp_rank": "62",
"slg_value": 0.3939393,
"slg_rank": "98",
"ops_value": 0.7392307,
"ops_rank": 85.0,
"war_value": 1.36,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 209.0,
"k_percent": 23.1,
"bb_percent": 10.0,
"woba": 0.324,
"xwoba": 0.301,
"xba": 0.242,
"xslg": 0.346,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 4.8,
"hard_hit_percent": 37.4,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 8.0,
"whiff_percent": 19.2,
"swing_percent": 39.7
},
"components": {
"expected_quality": -0.1827,
"regression_edge": -0.6571,
"xwoba_edge": -0.1143,
"xba_edge": 0.1429,
"xslg_edge": -0.3929,
"barrel_edge": -0.5,
"hard_hit_edge": -0.2214,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "545341",
"player_name": "Randal Grichuk",
"offense_factor": 1.065,
"quality_score": 0.8669,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "545341",
"espn_id": 31399,
"player_name": "Randal Grichuk",
"team": "CHW",
"role": "batter",
"espn_rank": 312,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 312,
"gp_value": 33.0,
"gp_rank": 290,
"ab_value": 63.0,
"ab_rank": 349,
"r_value": 13.0,
"r_rank": 244,
"h_value": 17.0,
"h_rank": 313,
"avg_value": 0.2698412,
"avg_rank": null,
"2b_value": 4.0,
"2b_rank": 252,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 12.0,
"rbi_rank": 248,
"tb_value": 33.0,
"tb_rank": 1335,
"bb_value": 2.0,
"bb_rank": 408,
"so_value": 16.0,
"so_rank": 347,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2985074,
"obp_rank": "-",
"slg_value": 0.5238095,
"slg_rank": "-",
"ops_value": 0.8223169,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 59.0,
"k_percent": 24.2,
"bb_percent": 3.2,
"woba": 0.339,
"xwoba": 0.39,
"xba": 0.296,
"xslg": 0.591,
"sweet_spot_percent": 45.5,
"barrel_batted_rate": 18.2,
"hard_hit_percent": 47.7,
"exit_velocity_avg": 91.8,
"launch_angle_avg": 15.7,
"whiff_percent": 25.9,
"swing_percent": 48.4
},
"components": {
"expected_quality": 2.0029,
"regression_edge": 1.4571,
"xwoba_edge": 2.4286,
"xba_edge": 1.6857,
"xslg_edge": 2.5,
"barrel_edge": 2.4778,
"hard_hit_edge": 1.25,
"exit_velocity_edge": 1.2,
"sweet_spot_edge": 2.0333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "678246",
"player_name": "Miguel Vargas",
"offense_factor": 1.1202,
"quality_score": 1.6032,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678246",
"espn_id": 42453,
"player_name": "Miguel Vargas",
"team": "CHW",
"role": "batter",
"espn_rank": 28,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 28,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 192.0,
"ab_rank": 82,
"r_value": 39.0,
"r_rank": 8,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.234375,
"avg_rank": 110.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 12.0,
"hr_rank": 20,
"rbi_value": 31.0,
"rbi_rank": 35,
"tb_value": 91.0,
"tb_rank": 358,
"bb_value": 36.0,
"bb_rank": 12,
"so_value": 40.0,
"so_rank": 124,
"sb_value": 8.0,
"sb_rank": 33,
"obp_value": 0.3659574,
"obp_rank": "35",
"slg_value": 0.4739583,
"slg_rank": "36",
"ops_value": 0.8399157,
"ops_rank": 36.0,
"war_value": 2.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 225.0,
"k_percent": 16.5,
"bb_percent": 14.8,
"woba": 0.369,
"xwoba": 0.392,
"xba": 0.252,
"xslg": 0.529,
"sweet_spot_percent": 39.2,
"barrel_batted_rate": 15.0,
"hard_hit_percent": 45.1,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 20.8,
"whiff_percent": 19.3,
"swing_percent": 43.3
},
"components": {
"expected_quality": 1.7573,
"regression_edge": 0.6571,
"xwoba_edge": 2.4857,
"xba_edge": 0.4286,
"xslg_edge": 2.2214,
"barrel_edge": 1.7667,
"hard_hit_edge": 0.8786,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": 0.9833,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "1B",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"offense_factor": 1.0994,
"quality_score": 1.325,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "808959",
"espn_id": 4872595,
"player_name": "Munetaka Murakami",
"team": "CHW",
"role": "batter",
"espn_rank": 45,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 45,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 196.0,
"ab_rank": 69,
"r_value": 42.0,
"r_rank": 3,
"h_value": 47.0,
"h_rank": 87,
"avg_value": 0.2397959,
"avg_rank": 100.0,
"2b_value": 3.0,
"2b_rank": 288,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 20.0,
"hr_rank": 2,
"rbi_value": 40.0,
"rbi_rank": 7,
"tb_value": 110.0,
"tb_rank": 689,
"bb_value": 42.0,
"bb_rank": 5,
"so_value": 78.0,
"so_rank": 4,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.375,
"obp_rank": "26",
"slg_value": 0.5612244,
"slg_rank": "6",
"ops_value": 0.9362244,
"ops_rank": 8.0,
"war_value": 1.64,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 224.0,
"k_percent": 32.8,
"bb_percent": 17.4,
"woba": 0.394,
"xwoba": 0.375,
"xba": 0.218,
"xslg": 0.525,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 20.7,
"hard_hit_percent": 57.8,
"exit_velocity_avg": 94.1,
"launch_angle_avg": 14.0,
"whiff_percent": 42.3,
"swing_percent": 41.9
},
"components": {
"expected_quality": 1.6291,
"regression_edge": -0.5429,
"xwoba_edge": 2.0,
"xba_edge": -0.5429,
"xslg_edge": 2.1643,
"barrel_edge": 2.5,
"hard_hit_edge": 2.5,
"exit_velocity_edge": 2.12,
"sweet_spot_edge": -0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "SS",
"player_id": "695657",
"player_name": "Colson Montgomery",
"offense_factor": 1.0251,
"quality_score": 0.3347,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "695657",
"espn_id": 4872685,
"player_name": "Colson Montgomery",
"team": "CHW",
"role": "batter",
"espn_rank": 60,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 60,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 199.0,
"ab_rank": 55,
"r_value": 25.0,
"r_rank": 81,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.2261306,
"avg_rank": 124.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 13.0,
"hr_rank": 12,
"rbi_value": 33.0,
"rbi_rank": 25,
"tb_value": 94.0,
"tb_rank": 504,
"bb_value": 21.0,
"bb_rank": 76,
"so_value": 68.0,
"so_rank": 14,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3245614,
"obp_rank": "90",
"slg_value": 0.4723618,
"slg_rank": "39",
"ops_value": 0.7969232,
"ops_rank": 55.0,
"war_value": 1.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 212.0,
"k_percent": 30.0,
"bb_percent": 9.4,
"woba": 0.346,
"xwoba": 0.324,
"xba": 0.211,
"xslg": 0.434,
"sweet_spot_percent": 36.2,
"barrel_batted_rate": 13.4,
"hard_hit_percent": 42.5,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 20.1,
"whiff_percent": 37.6,
"swing_percent": 51.3
},
"components": {
"expected_quality": 0.5062,
"regression_edge": -0.6286,
"xwoba_edge": 0.5429,
"xba_edge": -0.7429,
"xslg_edge": 0.8643,
"barrel_edge": 1.4111,
"hard_hit_edge": 0.5071,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.4833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "700337",
"player_name": "Edgar Quero",
"offense_factor": 0.9577,
"quality_score": -0.5639,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "700337",
"espn_id": 4917824,
"player_name": "Edgar Quero",
"team": "CHW",
"role": "batter",
"espn_rank": 467,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 467,
"gp_value": 39.0,
"gp_rank": 244,
"ab_value": 105.0,
"ab_rank": 256,
"r_value": 10.0,
"r_rank": 288,
"h_value": 19.0,
"h_rank": 296,
"avg_value": 0.1809523,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 13.0,
"rbi_rank": 238,
"tb_value": 23.0,
"tb_rank": 1917,
"bb_value": 12.0,
"bb_rank": 201,
"so_value": 31.0,
"so_rank": 194,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2741935,
"obp_rank": "-",
"slg_value": 0.2190476,
"slg_rank": "-",
"ops_value": 0.4932411,
"ops_rank": null,
"war_value": -0.37,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 108.0,
"k_percent": 25.6,
"bb_percent": 9.1,
"woba": 0.225,
"xwoba": 0.246,
"xba": 0.181,
"xslg": 0.244,
"sweet_spot_percent": 21.1,
"barrel_batted_rate": 1.3,
"hard_hit_percent": 28.9,
"exit_velocity_avg": 89.6,
"launch_angle_avg": 8.2,
"whiff_percent": 27.0,
"swing_percent": 48.6
},
"components": {
"expected_quality": -1.4334,
"regression_edge": 0.6,
"xwoba_edge": -1.6857,
"xba_edge": -1.6,
"xslg_edge": -1.85,
"barrel_edge": -1.2778,
"hard_hit_edge": -1.4357,
"exit_velocity_edge": 0.32,
"sweet_spot_edge": -2.0333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "RF",
"player_id": "656537",
"player_name": "Derek Hill",
"offense_factor": 1.0095,
"quality_score": 0.1268,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656537",
"espn_id": 33721,
"player_name": "Derek Hill",
"team": "CHW",
"role": "batter",
"espn_rank": 313,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 313,
"gp_value": 41.0,
"gp_rank": 227,
"ab_value": 61.0,
"ab_rank": 352,
"r_value": 9.0,
"r_rank": 306,
"h_value": 15.0,
"h_rank": 332,
"avg_value": 0.2459016,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 6.0,
"rbi_rank": 343,
"tb_value": 25.0,
"tb_rank": 1608,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 20.0,
"so_rank": 303,
"sb_value": 6.0,
"sb_rank": 54,
"obp_value": 0.3235294,
"obp_rank": "-",
"slg_value": 0.409836,
"slg_rank": "-",
"ops_value": 0.7333654,
"ops_rank": null,
"war_value": 0.02,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 58.0,
"k_percent": 27.9,
"bb_percent": 10.3,
"woba": 0.333,
"xwoba": 0.325,
"xba": 0.25,
"xslg": 0.404,
"sweet_spot_percent": 33.3,
"barrel_batted_rate": 9.8,
"hard_hit_percent": 35.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 16.1,
"whiff_percent": 31.1,
"swing_percent": 50.6
},
"components": {
"expected_quality": 0.3649,
"regression_edge": -0.2286,
"xwoba_edge": 0.5714,
"xba_edge": 0.3714,
"xslg_edge": 0.4357,
"barrel_edge": 0.6111,
"hard_hit_edge": -0.4643,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.0,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "LF",
"player_id": "803011",
"player_name": "Sam Antonacci",
"offense_factor": 1.0568,
"quality_score": 0.7579,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "803011",
"espn_id": 5207167,
"player_name": "Sam Antonacci",
"team": "CHW",
"role": "batter",
"espn_rank": 124,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 124,
"gp_value": 38.0,
"gp_rank": 251,
"ab_value": 122.0,
"ab_rank": 220,
"r_value": 22.0,
"r_rank": 120,
"h_value": 35.0,
"h_rank": 175,
"avg_value": 0.2868852,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 2.0,
"3b_rank": 10,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 13.0,
"rbi_rank": 238,
"tb_value": 47.0,
"tb_rank": 1331,
"bb_value": 10.0,
"bb_rank": 239,
"so_value": 21.0,
"so_rank": 290,
"sb_value": 7.0,
"sb_rank": 42,
"obp_value": 0.3888888,
"obp_rank": "-",
"slg_value": 0.3852459,
"slg_rank": "-",
"ops_value": 0.7741347,
"ops_rank": null,
"war_value": 0.84,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 134.0,
"k_percent": 14.2,
"bb_percent": 6.4,
"woba": 0.343,
"xwoba": 0.383,
"xba": 0.315,
"xslg": 0.447,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 8.0,
"hard_hit_percent": 38.6,
"exit_velocity_avg": 88.4,
"launch_angle_avg": 10.4,
"whiff_percent": 16.2,
"swing_percent": 40.6
},
"components": {
"expected_quality": 1.2608,
"regression_edge": 1.1429,
"xwoba_edge": 2.2286,
"xba_edge": 2.2286,
"xslg_edge": 1.05,
"barrel_edge": 0.2111,
"hard_hit_edge": -0.05,
"exit_velocity_edge": -0.16,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "682668",
"player_name": "Luisangel Acuña",
"offense_factor": 0.9856,
"quality_score": -0.1921,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "682668",
"espn_id": 42411,
"player_name": "Luisangel Acuna",
"team": "CHW",
"role": "batter",
"espn_rank": 506,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 506,
"gp_value": 40.0,
"gp_rank": 235,
"ab_value": 98.0,
"ab_rank": 275,
"r_value": 9.0,
"r_rank": 306,
"h_value": 17.0,
"h_rank": 313,
"avg_value": 0.1734693,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 5.0,
"rbi_rank": 360,
"tb_value": 18.0,
"tb_rank": 2186,
"bb_value": 6.0,
"bb_rank": 306,
"so_value": 20.0,
"so_rank": 303,
"sb_value": 8.0,
"sb_rank": 33,
"obp_value": 0.224299,
"obp_rank": "-",
"slg_value": 0.1836734,
"slg_rank": "-",
"ops_value": 0.4079724,
"ops_rank": null,
"war_value": -0.62,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 95.0,
"k_percent": 18.4,
"bb_percent": 5.8,
"woba": 0.193,
"xwoba": 0.267,
"xba": 0.237,
"xslg": 0.297,
"sweet_spot_percent": 18.2,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 37.7,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 2.3,
"whiff_percent": 24.2,
"swing_percent": 49.1
},
"components": {
"expected_quality": -0.8221,
"regression_edge": 2.0,
"xwoba_edge": -1.0857,
"xba_edge": 0.0,
"xslg_edge": -1.0929,
"barrel_edge": -0.9889,
"hard_hit_edge": -0.1786,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": -2.5,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.005,
"raw_average_factor": 1.005,
"team_espn_average_rank": 231.44,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "LF",
"player_id": "663616",
"player_name": "Trevor Larnach",
"offense_factor": 0.9946,
"quality_score": -0.0718,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "663616",
"espn_id": 41205,
"player_name": "Trevor Larnach",
"team": "MIN",
"role": "batter",
"espn_rank": 74,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 74,
"gp_value": 44.0,
"gp_rank": 196,
"ab_value": 131.0,
"ab_rank": 205,
"r_value": 23.0,
"r_rank": 106,
"h_value": 35.0,
"h_rank": 175,
"avg_value": 0.2671755,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 14.0,
"rbi_rank": 216,
"tb_value": 51.0,
"tb_rank": 1098,
"bb_value": 22.0,
"bb_rank": 68,
"so_value": 29.0,
"so_rank": 208,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3806451,
"obp_rank": "-",
"slg_value": 0.3893129,
"slg_rank": "-",
"ops_value": 0.769958,
"ops_rank": null,
"war_value": 1.24,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 144.0,
"k_percent": 18.5,
"bb_percent": 14.6,
"woba": 0.359,
"xwoba": 0.323,
"xba": 0.24,
"xslg": 0.349,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 6.1,
"hard_hit_percent": 32.3,
"exit_velocity_avg": 86.5,
"launch_angle_avg": 11.3,
"whiff_percent": 26.3,
"swing_percent": 40.9
},
"components": {
"expected_quality": 0.0398,
"regression_edge": -1.0286,
"xwoba_edge": 0.5143,
"xba_edge": 0.0857,
"xslg_edge": -0.35,
"barrel_edge": -0.2111,
"hard_hit_edge": -0.95,
"exit_velocity_edge": -0.92,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "686797",
"player_name": "Brooks Lee",
"offense_factor": 0.9496,
"quality_score": -0.6717,
"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": 160,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 160,
"gp_value": 52.0,
"gp_rank": 100,
"ab_value": 188.0,
"ab_rank": 98,
"r_value": 23.0,
"r_rank": 106,
"h_value": 48.0,
"h_rank": 79,
"avg_value": 0.2553191,
"avg_rank": 82.0,
"2b_value": 9.0,
"2b_rank": 81,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 30.0,
"rbi_rank": 41,
"tb_value": 77.0,
"tb_rank": 524,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 37.0,
"so_rank": 146,
"sb_value": 3.0,
"sb_rank": 119,
"obp_value": 0.3103448,
"obp_rank": "117",
"slg_value": 0.4095744,
"slg_rank": "83",
"ops_value": 0.7199192,
"ops_rank": 92.0,
"war_value": 0.57,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 200.0,
"k_percent": 17.9,
"bb_percent": 6.5,
"woba": 0.325,
"xwoba": 0.275,
"xba": 0.225,
"xslg": 0.336,
"sweet_spot_percent": 35.3,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 28.7,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 12.2,
"whiff_percent": 20.7,
"swing_percent": 51.3
},
"components": {
"expected_quality": -0.6266,
"regression_edge": -1.4286,
"xwoba_edge": -0.8571,
"xba_edge": -0.3429,
"xslg_edge": -0.5357,
"barrel_edge": -0.5222,
"hard_hit_edge": -1.4643,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": 0.3333,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "621439",
"player_name": "Byron Buxton",
"offense_factor": 1.0463,
"quality_score": 0.6179,
"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": 37,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 37,
"gp_value": 47.0,
"gp_rank": 169,
"ab_value": 197.0,
"ab_rank": 64,
"r_value": 38.0,
"r_rank": 10,
"h_value": 51.0,
"h_rank": 64,
"avg_value": 0.2588832,
"avg_rank": 73.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 17.0,
"hr_rank": 4,
"rbi_value": 27.0,
"rbi_rank": 61,
"tb_value": 114.0,
"tb_rank": 217,
"bb_value": 15.0,
"bb_rank": 150,
"so_value": 55.0,
"so_rank": 40,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.3194444,
"obp_rank": "102",
"slg_value": 0.5786802,
"slg_rank": "4",
"ops_value": 0.8981246,
"ops_rank": 14.0,
"war_value": 1.84,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 208.0,
"k_percent": 25.8,
"bb_percent": 7.0,
"woba": 0.38,
"xwoba": 0.333,
"xba": 0.231,
"xslg": 0.49,
"sweet_spot_percent": 32.9,
"barrel_batted_rate": 19.3,
"hard_hit_percent": 46.4,
"exit_velocity_avg": 90.0,
"launch_angle_avg": 24.0,
"whiff_percent": 31.5,
"swing_percent": 53.1
},
"components": {
"expected_quality": 0.9786,
"regression_edge": -1.3429,
"xwoba_edge": 0.8,
"xba_edge": -0.1714,
"xslg_edge": 1.6643,
"barrel_edge": 2.5,
"hard_hit_edge": 1.0643,
"exit_velocity_edge": 0.48,
"sweet_spot_edge": -0.0667,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "665019",
"player_name": "Kody Clemens",
"offense_factor": 1.0254,
"quality_score": 0.3381,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665019",
"espn_id": 41311,
"player_name": "Kody Clemens",
"team": "MIN",
"role": "batter",
"espn_rank": 144,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 144,
"gp_value": 44.0,
"gp_rank": 196,
"ab_value": 146.0,
"ab_rank": 180,
"r_value": 18.0,
"r_rank": 173,
"h_value": 34.0,
"h_rank": 179,
"avg_value": 0.2328767,
"avg_rank": null,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 15.0,
"rbi_rank": 207,
"tb_value": 61.0,
"tb_rank": 674,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 38.0,
"so_rank": 136,
"sb_value": 5.0,
"sb_rank": 70,
"obp_value": 0.3170731,
"obp_rank": "-",
"slg_value": 0.4178082,
"slg_rank": "-",
"ops_value": 0.7348813,
"ops_rank": null,
"war_value": 0.67,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 157.0,
"k_percent": 23.3,
"bb_percent": 8.0,
"woba": 0.321,
"xwoba": 0.323,
"xba": 0.234,
"xslg": 0.41,
"sweet_spot_percent": 33.6,
"barrel_batted_rate": 13.1,
"hard_hit_percent": 41.1,
"exit_velocity_avg": 91.9,
"launch_angle_avg": 15.7,
"whiff_percent": 24.7,
"swing_percent": 47.6
},
"components": {
"expected_quality": 0.5416,
"regression_edge": 0.0571,
"xwoba_edge": 0.5143,
"xba_edge": -0.0857,
"xslg_edge": 0.5214,
"barrel_edge": 1.3444,
"hard_hit_edge": 0.3071,
"exit_velocity_edge": 1.24,
"sweet_spot_edge": 0.05,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "606115",
"player_name": "Orlando Arcia",
"offense_factor": 0.9698,
"quality_score": -0.403,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "606115",
"espn_id": 32530,
"player_name": "Orlando Arcia",
"team": "MIN",
"role": "batter",
"espn_rank": 214,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 214,
"gp_value": 6.0,
"gp_rank": 477,
"ab_value": 16.0,
"ab_rank": 466,
"r_value": 1.0,
"r_rank": 457,
"h_value": 8.0,
"h_rank": 399,
"avg_value": 0.5,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 1.0,
"rbi_rank": 452,
"tb_value": 9.0,
"tb_rank": 2272,
"bb_value": 0.0,
"bb_rank": 484,
"so_value": 3.0,
"so_rank": 475,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.5,
"obp_rank": "-",
"slg_value": 0.5625,
"slg_rank": "-",
"ops_value": 1.0625,
"ops_rank": null,
"war_value": 0.29,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 15.0,
"k_percent": 20.0,
"bb_percent": 0.0,
"woba": 0.504,
"xwoba": 0.273,
"xba": 0.296,
"xslg": 0.331,
"sweet_spot_percent": 41.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 16.7,
"exit_velocity_avg": 84.5,
"launch_angle_avg": 6.0,
"whiff_percent": 21.2,
"swing_percent": 55.0
},
"components": {
"expected_quality": -0.7158,
"regression_edge": -2.0,
"xwoba_edge": -0.9143,
"xba_edge": 1.6857,
"xslg_edge": -0.6071,
"barrel_edge": -1.5667,
"hard_hit_edge": -2.5,
"exit_velocity_edge": -1.72,
"sweet_spot_edge": 1.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "1B",
"player_id": "605137",
"player_name": "Josh Bell",
"offense_factor": 1.0136,
"quality_score": 0.1816,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605137",
"espn_id": 32517,
"player_name": "Josh Bell",
"team": "MIN",
"role": "batter",
"espn_rank": 504,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 504,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 193.0,
"ab_rank": 77,
"r_value": 24.0,
"r_rank": 96,
"h_value": 41.0,
"h_rank": 128,
"avg_value": 0.2124352,
"avg_rank": 147.0,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 29.0,
"rbi_rank": 46,
"tb_value": 64.0,
"tb_rank": 905,
"bb_value": 17.0,
"bb_rank": 131,
"so_value": 48.0,
"so_rank": 76,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2769953,
"obp_rank": "154",
"slg_value": 0.3316062,
"slg_rank": "147",
"ops_value": 0.6086015,
"ops_rank": 155.0,
"war_value": -0.6,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 206.0,
"k_percent": 22.4,
"bb_percent": 8.1,
"woba": 0.279,
"xwoba": 0.3,
"xba": 0.227,
"xslg": 0.396,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 9.7,
"hard_hit_percent": 42.1,
"exit_velocity_avg": 89.8,
"launch_angle_avg": 14.8,
"whiff_percent": 26.2,
"swing_percent": 50.5
},
"components": {
"expected_quality": 0.1278,
"regression_edge": 0.6,
"xwoba_edge": -0.1429,
"xba_edge": -0.2857,
"xslg_edge": 0.3214,
"barrel_edge": 0.5889,
"hard_hit_edge": 0.45,
"exit_velocity_edge": 0.4,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "605170",
"player_name": "Victor Caratini",
"offense_factor": 1.0222,
"quality_score": 0.2957,
"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": 457,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 457,
"gp_value": 40.0,
"gp_rank": 235,
"ab_value": 123.0,
"ab_rank": 215,
"r_value": 8.0,
"r_rank": 327,
"h_value": 22.0,
"h_rank": 268,
"avg_value": 0.1788617,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 17.0,
"rbi_rank": 179,
"tb_value": 29.0,
"tb_rank": 1697,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 31.0,
"so_rank": 194,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2818791,
"obp_rank": "-",
"slg_value": 0.2357723,
"slg_rank": "-",
"ops_value": 0.5176514,
"ops_rank": null,
"war_value": -0.34,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 140.0,
"k_percent": 20.8,
"bb_percent": 8.7,
"woba": 0.247,
"xwoba": 0.328,
"xba": 0.243,
"xslg": 0.371,
"sweet_spot_percent": 39.8,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 36.7,
"exit_velocity_avg": 88.6,
"launch_angle_avg": 11.5,
"whiff_percent": 22.2,
"swing_percent": 43.0
},
"components": {
"expected_quality": 0.2148,
"regression_edge": 2.0,
"xwoba_edge": 0.6571,
"xba_edge": 0.1714,
"xslg_edge": -0.0357,
"barrel_edge": -0.4333,
"hard_hit_edge": -0.3214,
"exit_velocity_edge": -0.08,
"sweet_spot_edge": 1.0833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "656484",
"player_name": "Tristan Gray",
"offense_factor": 1.01,
"quality_score": 0.1328,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "656484",
"espn_id": 39918,
"player_name": "Tristan Gray",
"team": "MIN",
"role": "batter",
"espn_rank": 292,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 292,
"gp_value": 29.0,
"gp_rank": 320,
"ab_value": 81.0,
"ab_rank": 316,
"r_value": 9.0,
"r_rank": 306,
"h_value": 18.0,
"h_rank": 304,
"avg_value": 0.2222222,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 14.0,
"rbi_rank": 216,
"tb_value": 28.0,
"tb_rank": 1580,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 30.0,
"so_rank": 203,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.2888888,
"obp_rank": "-",
"slg_value": 0.345679,
"slg_rank": "-",
"ops_value": 0.6345678,
"ops_rank": null,
"war_value": 0.07,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 83.0,
"k_percent": 34.1,
"bb_percent": 8.0,
"woba": 0.296,
"xwoba": 0.315,
"xba": 0.247,
"xslg": 0.388,
"sweet_spot_percent": 42.0,
"barrel_batted_rate": 10.2,
"hard_hit_percent": 38.0,
"exit_velocity_avg": 88.5,
"launch_angle_avg": 11.5,
"whiff_percent": 37.9,
"swing_percent": 54.7
},
"components": {
"expected_quality": 0.2548,
"regression_edge": 0.5429,
"xwoba_edge": 0.2857,
"xba_edge": 0.2857,
"xslg_edge": 0.2071,
"barrel_edge": 0.7,
"hard_hit_edge": -0.1357,
"exit_velocity_edge": -0.12,
"sweet_spot_edge": 1.45,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"offense_factor": 1.0135,
"quality_score": 0.18,
"regression_flag": "negative_batter_regression",
"espn_rank": {
"available": true,
"player_id": "668952",
"espn_id": 42701,
"player_name": "Ryan Kreidler",
"team": "MIN",
"role": "batter",
"espn_rank": 201,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 201,
"gp_value": 16.0,
"gp_rank": 397,
"ab_value": 43.0,
"ab_rank": 388,
"r_value": 9.0,
"r_rank": 306,
"h_value": 12.0,
"h_rank": 364,
"avg_value": 0.2790697,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 8.0,
"rbi_rank": 302,
"tb_value": 23.0,
"tb_rank": 1583,
"bb_value": 5.0,
"bb_rank": 337,
"so_value": 13.0,
"so_rank": 369,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3541666,
"obp_rank": "-",
"slg_value": 0.5348837,
"slg_rank": "-",
"ops_value": 0.8890503,
"ops_rank": null,
"war_value": 0.36,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 44.0,
"k_percent": 27.7,
"bb_percent": 10.6,
"woba": 0.396,
"xwoba": 0.344,
"xba": 0.246,
"xslg": 0.466,
"sweet_spot_percent": 37.9,
"barrel_batted_rate": 10.3,
"hard_hit_percent": 34.5,
"exit_velocity_avg": 88.9,
"launch_angle_avg": 13.6,
"whiff_percent": 32.3,
"swing_percent": 53.1
},
"components": {
"expected_quality": 0.7069,
"regression_edge": -1.4857,
"xwoba_edge": 1.1143,
"xba_edge": 0.2571,
"xslg_edge": 1.3214,
"barrel_edge": 0.7222,
"hard_hit_edge": -0.6357,
"exit_velocity_edge": 0.04,
"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 MIN | True | 138 | 0.0232 | 0.4500 | 0.9980 | 1.0098 | 1.0630 | 0.9999 | neutral | 0.3040 | 0.3070 | 23 | 16.40 | 29.30 | 8.30 | 36.10 | |
| Home CHW | True | 4 | 0.1006 | 0.8520 | 0.9915 | 1.0336 | 0.9250 | 1.0389 | neutral | 0.3000 | 0.2740 | 27.40 | 5 | 28 | 7.60 | 46.90 |
| Team | Pitcher | Movement Available | Primary Pitch | Pitches | Velo | Spin | Axis | HB | IVB | Drop | Rel X | Rel Z | Extension | Arm Angle | Movement Score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Away MIN | True | None | 45 | 92.28 | 2058 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.1450 | |
| Home CHW | True | None | 95 | 90.16 | 2432 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.0263 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 0.9928 |
| home_runs_vs_away_pitcher | 0.9991 |
| home_pitcher_quality_edge | 0.0774 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "663436",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 213.0,
"k_percent": 27.4,
"bb_percent": 5.0,
"woba": 0.274,
"xwoba": 0.3,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 46.9,
"avg_best_speed": 79.5068,
"avg_hyper_speed": 95.0652,
"whiff_percent": 28.0,
"swing_percent": 50.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.0455,
"command_and_miss": 0.6336,
"regression_edge": -0.7429,
"xwoba_edge": 0.2571,
"barrel_edge": -0.0667,
"hard_hit_edge": -1.2,
"whiff_edge": 0.3,
"bb_edge": 1.1,
"pitch_design_score": 0.0263
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663436",
"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.1571729375162,
"release_spin_rate": 2431.8135928766455,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1571729375162,
"release_spin_rate": 2431.8135928766455,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1572,
"release_spin_rate": 2431.8136,
"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.0263,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1878,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1006,
"sample_weight": 0.852,
"run_prevention_factor": 0.9915,
"strikeout_factor": 1.0336,
"walk_factor": 0.925,
"homer_factor": 1.0389,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663436",
"espn_id": 42823,
"player_name": "Davis Martin",
"team": "CHW",
"role": "pitcher",
"espn_rank": 4,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 4,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 10.0,
"gs_rank": 70,
"qs_value": 7.0,
"qs_rank": 8,
"era_value": 2.0432,
"era_rank": 7.0,
"w_value": 7.0,
"w_rank": 3,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 61.2,
"ip_rank": 35,
"h_value": 51.0,
"h_rank": 66,
"er_value": 14.0,
"er_rank": 153,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 12.0,
"bb_rank": 185,
"k_value": 66.0,
"k_rank": 22,
"k_per_9_value": 9.632432,
"k_per_9_rank": 16,
"whip_value": 1.0216,
"whip_rank": 12.0,
"war_value": 2.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "696070",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 49.0,
"k_percent": 23.0,
"bb_percent": 16.4,
"woba": 0.307,
"xwoba": 0.304,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.1,
"avg_best_speed": 71.5573,
"avg_hyper_speed": 93.5674,
"whiff_percent": 29.3,
"swing_percent": 43.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.1279,
"command_and_miss": -0.1543,
"regression_edge": 0.0857,
"xwoba_edge": 0.1429,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.4857,
"bb_edge": -1.75,
"pitch_design_score": 0.145
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696070",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 45,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 45,
"pitch_usage": 0.0,
"release_speed": 92.2773603746907,
"release_spin_rate": 2058.2174171842644,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 45,
"pitch_usage": 0.0,
"release_speed": 92.2773603746907,
"release_spin_rate": 2058.2174171842644,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2774,
"release_spin_rate": 2058.2174,
"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.145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0359,
"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.0232,
"sample_weight": 0.45,
"run_prevention_factor": 0.998,
"strikeout_factor": 1.0098,
"walk_factor": 1.063,
"homer_factor": 0.9999,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696070",
"espn_id": 5296012,
"player_name": "Kendry Rojas",
"team": "MIN",
"role": "pitcher",
"espn_rank": 138,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 138,
"gp_value": 5.0,
"gp_rank": 439,
"gs_value": 1.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.2558,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 1.0,
"hld_rank": 178,
"ip_value": 14.1,
"ip_rank": 392,
"h_value": 11.0,
"h_rank": 403,
"er_value": 2.0,
"er_rank": 525,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 10.0,
"bb_rank": 224,
"k_value": 14.0,
"k_rank": 363,
"k_per_9_value": 8.790698,
"k_per_9_rank": 25,
"whip_value": 1.4651,
"whip_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 0.9928,
"home_runs_vs_away_pitcher": 0.9991,
"home_pitcher_quality_edge": 0.0774
},
"score_before": {
"away_runs": 1.0,
"home_runs": 1.0
},
"score_after": {
"away_runs": 0.9928,
"home_runs": 0.9991,
"home_win_probability": 0.5019
},
"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 MIN | 16-38 | 0.296 | 1.30 | 3.40 | -114 | cold | strong | |
| Home CHW | 15-37 | 0.288 | 1.30 | 2.70 | -69 | cold | strong |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away MIN | 27-29 | 0.482 | -9 | -0.161 | True |
| Home CHW | 28-27 | 0.509 | -4 | -0.073 | True |
| Signal | - | - | 0.088 | 0.128 | applied=False |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target MIN | - | - | 1 | - | - | - | - |
| Game target CHW | - | - | 2 | - | - | - | - |
| Player finalized MIN | 65 | 15 | 8 | 1 | 8 | 8 | 17 |
| Player finalized CHW | 63 | 15 | 11 | 1 | 8 | 8 | 17 |
| Player model fractional MIN | 64.34 | 14.19 | 9.01 | 2.39 | 8.22 | 5.53 | 16.18 |
| Player model fractional CHW | 64.48 | 15.29 | 11.02 | 2.91 | 9.71 | 8.35 | 17.67 |
| Simulation box MIN | 31 | 4 | 0 | 0 | 0 | 3 | 9 |
| Simulation box CHW | 29 | 5 | 3 | 1 | 3 | 2 | 6 |
If player finalized rows and game target disagree, the report now exposes that gap instead of hiding it. Fractional model rows show the unrounded prop layer before box-score realization.
| Team | Role | Pitcher | Pre IP | Pre ER | Pre SO | Pre H | Pre BB | Weighted ERA | Weighted WHIP | Box Sync |
|---|---|---|---|---|---|---|---|---|---|---|
| Away MIN | Starter | Kendry Rojas | 3 | 3 | 4 | 5 | 2 | 3.16 | 1.37 | True |
| Away MIN | Middle Reliever | Yoendrys Gómez | 3 | 0 | 1 | 0 | 0 | 3.10 | 1.21 | True |
| Away MIN | Middle Reliever | Taylor Rogers | 2 | 0 | 1 | 0 | 0 | 2.69 | 1.32 | True |
| Home CHW | Starter | Davis Martin | 7 | 0 | 7 | 2 | 0 | 2.79 | 1.12 | True |
| Home CHW | Middle Reliever | Bryan Hudson | 1 | 0 | 2 | 0 | 3 | 3.44 | 1.27 | True |
| Home CHW | Middle Reliever | Grant Taylor | 1 | 0 | 0 | 0 | 0 | 3.43 | 1.25 | True |
| Home CHW | Middle Reliever | Seranthony Domínguez | 0 | 0 | 0 | 2 | 0 | 4.70 | 1.40 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | CHW | batter | DH | Randal Grichuk | better | 11 | 6 | 5 | 7 | 4 | predicted_RBI | 2.6200 | boost | better |
| away | MIN | batter | 3B | Brooks Lee | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.2750 | boost | worse |
| away | MIN | pitcher | Starter | Kendry Rojas | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -2.0000 | deboost | worse |
| away | MIN | pitcher | Middle Reliever | Yoendrys Gómez | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 2.0000 | boost | better |
| home | CHW | batter | C | Edgar Quero | worse | 10 | 2 | 8 | 3 | 7 | predicted_AB | -1.4240 | deboost | worse |
| away | MIN | pitcher | Middle Reliever | Taylor Rogers | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 1.3333 | boost | better |
| away | MIN | batter | SS | Tristan Gray | worse | 10 | 0 | 10 | 1 | 9 | predicted_SO | -1.2440 | deboost | better |
| away | MIN | batter | DH | Byron Buxton | worse | 11 | 2 | 9 | 3 | 8 | predicted_SO | -1.2290 | deboost | better |
| away | MIN | batter | LF | Trevor Larnach | worse | 10 | 3 | 7 | 2 | 8 | predicted_SO | 1.2190 | boost | worse |
| away | MIN | batter | C | Victor Caratini | worse | 10 | 2 | 8 | 1 | 9 | predicted_SO | 1.1860 | boost | worse |
| away | MIN | batter | 1B | Josh Bell | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | 1.1700 | boost | better |
| home | CHW | batter | 2B | Chase Meidroth | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -1.0500 | deboost | worse |
| home | CHW | pitcher | Starter | Davis Martin | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | CHW | pitcher | Middle Reliever | Seranthony Domínguez | worse | 2 | 0 | 2 | 0 | 2 | predicted_SO | -1.0000 | deboost | worse |
| home | CHW | batter | RF | Derek Hill | worse | 10 | 4 | 6 | 3 | 7 | predicted_2B | 0.9690 | boost | better |
| home | CHW | batter | 3B | Miguel Vargas | worse | 9 | 5 | 4 | 4 | 5 | predicted_AB | -0.9400 | deboost | worse |
| away | MIN | batter | RF | Kody Clemens | worse | 10 | 3 | 7 | 4 | 6 | predicted_SO | -0.9260 | deboost | better |
| home | CHW | batter | SS | Colson Montgomery | worse | 11 | 3 | 8 | 4 | 7 | predicted_H | -0.8700 | deboost | worse |
| home | CHW | batter | 1B | Munetaka Murakami | better | 10 | 5 | 5 | 6 | 4 | predicted_BB | -0.8090 | deboost | worse |
| home | CHW | batter | LF | Sam Antonacci | worse | 12 | 3 | 9 | 2 | 10 | predicted_H | -0.8000 | deboost | worse |
| away | MIN | batter | CF | Ryan Kreidler | worse | 10 | 0 | 10 | 1 | 9 | predicted_H | -0.6800 | deboost | worse |
| home | CHW | batter | CF | Luisangel Acuña | worse | 9 | 1 | 8 | 0 | 9 | predicted_H | -0.5300 | deboost | worse |
| away | MIN | batter | 2B | Orlando Arcia | worse | 9 | 2 | 7 | 1 | 8 | predicted_AB | 0.5000 | boost | better |
This table ranks players whose JSON evolution changed materially. Boost/deboost is numeric movement; better/worse is role-aware.
| Field | Value |
|---|---|
| Pitcher | Kendry Rojas |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.0232 |
| ESPN Rank | 138 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1450 |
| Avg Velo | 92.2774 |
| Avg Spin | 2058.2174 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 3 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 2 |
| Pre SO | 4 |
| Season ERA | 1.2558 |
| Season WHIP | 1.4651 |
| Role Avg IP | 4 |
| Recent Avg IP | 4 |
| Last Start IP | 4 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"opponent": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"edges": {
"quality_edge": 0.1238,
"offense_edge": 0.0639,
"opponent_offense_edge": 0.0457,
"defense_strength": -0.0503,
"opponent_defense_weakness": 0.0972,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 1.0062,
"strikeout": 1.0001
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "696070",
"profile": {
"available": true,
"pitcher_id": "696070",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 49.0,
"k_percent": 23.0,
"bb_percent": 16.4,
"woba": 0.307,
"xwoba": 0.304,
"sweet_spot_percent": 38.9,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 36.1,
"avg_best_speed": 71.5573,
"avg_hyper_speed": 93.5674,
"whiff_percent": 29.3,
"swing_percent": 43.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.1279,
"command_and_miss": -0.1543,
"regression_edge": 0.0857,
"xwoba_edge": 0.1429,
"barrel_edge": -0.2222,
"hard_hit_edge": 0.3429,
"whiff_edge": 0.4857,
"bb_edge": -1.75,
"pitch_design_score": 0.145
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "696070",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 45,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 45,
"pitch_usage": 0.0,
"release_speed": 92.2773603746907,
"release_spin_rate": 2058.2174171842644,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 45,
"pitch_usage": 0.0,
"release_speed": 92.2773603746907,
"release_spin_rate": 2058.2174171842644,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2774,
"release_spin_rate": 2058.2174,
"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.145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0359,
"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.0232,
"sample_weight": 0.45,
"run_prevention_factor": 0.998,
"strikeout_factor": 1.0098,
"walk_factor": 1.063,
"homer_factor": 0.9999,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "696070",
"espn_id": 5296012,
"player_name": "Kendry Rojas",
"team": "MIN",
"role": "pitcher",
"espn_rank": 138,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 138,
"gp_value": 5.0,
"gp_rank": 439,
"gs_value": 1.0,
"gs_rank": 215,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.2558,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 1.0,
"hld_rank": 178,
"ip_value": 14.1,
"ip_rank": 392,
"h_value": 11.0,
"h_rank": 403,
"er_value": 2.0,
"er_rank": 525,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 10.0,
"bb_rank": 224,
"k_value": 14.0,
"k_rank": 363,
"k_per_9_value": 8.790698,
"k_per_9_rank": 25,
"whip_value": 1.4651,
"whip_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9991,
"adjusted": 0
},
"predicted_H": {
"original": 2.0,
"factor": 0.9991,
"adjusted": 2
},
"predicted_BB": {
"original": 1.0,
"factor": 1.0283,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0,
"adjusted": 0
},
"predicted_SO": {
"original": 4.0,
"factor": 1.0044,
"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": "insufficient_data"
},
"pitching": {
"IP": 14.1,
"ER": 2,
"H": 11,
"BB": 10,
"SO": 14,
"HR": 0,
"ERA": 1.255813953488372,
"WHIP": 1.4651162790697674,
"K9": 8.790697674418604,
"HR9": 0.0,
"games_pitched": 5,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 1,
"assists": 0,
"games_fielded": 5,
"error_prone": false
},
"games_count": 5,
"latest_game_date": "2026-05-23T00:00:00"
}{
"available": true,
"pitcher_id": "696070",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 45,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 45,
"pitch_usage": 0.0,
"release_speed": 92.2773603746907,
"release_spin_rate": 2058.2174171842644,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 45,
"pitch_usage": 0.0,
"release_speed": 92.2773603746907,
"release_spin_rate": 2058.2174171842644,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2774,
"release_spin_rate": 2058.2174,
"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.145,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.0359,
"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": 2.827,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3612,
"prior_weight": 0.6388
},
"role": "pitcher",
"player_id": "696070",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 5,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 14.1,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 10.0,
"SO": 14.0,
"HR": 0.0,
"BF": 61.0,
"Pitches": 227.0
},
"per_game": {
"IP": 3.0,
"ER": 0.4,
"R": 0.4,
"H": 2.2,
"BB": 2.0,
"SO": 2.8,
"HR": 0.0,
"BF": 12.2,
"Pitches": 45.4
},
"rates": {
"ERA": 1.2558,
"WHIP": 1.4651,
"ER_per_IP": 0.13953,
"H_per_IP": 0.76744,
"BB_per_IP": 0.69767,
"SO_per_IP": 0.97674,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 5,
"totals": {
"IP": 14.1,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 10.0,
"SO": 14.0,
"HR": 0.0,
"BF": 61.0,
"Pitches": 227.0
},
"per_game": {
"IP": 3.0,
"ER": 0.4,
"R": 0.4,
"H": 2.2,
"BB": 2.0,
"SO": 2.8,
"HR": 0.0,
"BF": 12.2,
"Pitches": 45.4
},
"rates": {
"ERA": 1.2558,
"WHIP": 1.4651,
"ER_per_IP": 0.13953,
"H_per_IP": 0.76744,
"BB_per_IP": 0.69767,
"SO_per_IP": 0.97674,
"HR_per_IP": 0.0
}
},
"season": {
"games": 5,
"totals": {
"IP": 14.1,
"ER": 2.0,
"R": 2.0,
"H": 11.0,
"BB": 10.0,
"SO": 14.0,
"HR": 0.0,
"BF": 61.0,
"Pitches": 227.0
},
"per_game": {
"IP": 3.0,
"ER": 0.4,
"R": 0.4,
"H": 2.2,
"BB": 2.0,
"SO": 2.8,
"HR": 0.0,
"BF": 12.2,
"Pitches": 45.4
},
"rates": {
"ERA": 1.2558,
"WHIP": 1.4651,
"ER_per_IP": 0.13953,
"H_per_IP": 0.76744,
"BB_per_IP": 0.69767,
"SO_per_IP": 0.97674,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 4.1,
"predicted_ER": 1.503,
"predicted_H": 3.763,
"predicted_BB": 2.087,
"predicted_SO": 4.089,
"predicted_HR": 0.358,
"predicted_ERA": 3.1629,
"predicted_WHIP": 1.3674
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.6199,
"form_weight": 0.3801,
"form_reliability": 0.3612,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 2.827,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.3612,
"prior_weight": 0.6388
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 4.1,
"final": 4.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 1.503,
"final": 2.431,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 3.763,
"final": 4.5298,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 2.0,
"form": 2.087,
"final": 2.0331,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 4.0,
"form": 4.089,
"final": 4.0338,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.358,
"final": 0.756,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1629,
"final": 3.1629,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3674,
"final": 1.3674,
"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.3506 |
| ESPN Rank | 282 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0943 |
| Avg Velo | 91.3723 |
| Avg Spin | 2480.3134 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 3 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 4.5000 |
| Season WHIP | 1.3846 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"opponent": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"edges": {
"quality_edge": 0.1238,
"offense_edge": 0.0639,
"opponent_offense_edge": 0.0457,
"defense_strength": -0.0503,
"opponent_defense_weakness": 0.0972,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 1.0062,
"strikeout": 1.0001
},
"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": 101.0,
"k_percent": 19.8,
"bb_percent": 11.2,
"woba": 0.34,
"xwoba": 0.37,
"sweet_spot_percent": 36.4,
"barrel_batted_rate": 12.9,
"hard_hit_percent": 38.6,
"avg_best_speed": 77.3754,
"avg_hyper_speed": 94.2609,
"whiff_percent": 23.4,
"swing_percent": 47.3
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.0683,
"command_and_miss": -0.395,
"regression_edge": -0.8571,
"xwoba_edge": -1.7429,
"barrel_edge": -1.2444,
"hard_hit_edge": -0.0143,
"whiff_edge": -0.3571,
"bb_edge": -0.45,
"pitch_design_score": 0.0943
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "672782",
"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": 91.37231914726796,
"release_spin_rate": 2480.313389874899,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.37231914726796,
"release_spin_rate": 2480.313389874899,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3723,
"release_spin_rate": 2480.3134,
"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.0943,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6739,
"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.3506,
"sample_weight": 0.45,
"run_prevention_factor": 1.0298,
"strikeout_factor": 0.9864,
"walk_factor": 1.0162,
"homer_factor": 1.0686,
"woba_minus_xwoba": -0.03,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672782",
"espn_id": 42898,
"player_name": "Yoendrys Gomez",
"team": "MIN",
"role": "pitcher",
"espn_rank": 282,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 282,
"gp_value": 19.0,
"gp_rank": 132,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.5,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 3.0,
"sv_rank": 36,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 26.0,
"ip_rank": 188,
"h_value": 23.0,
"h_rank": 205,
"er_value": 13.0,
"er_rank": 175,
"hr_value": 5.0,
"hr_rank": 102,
"bb_value": 13.0,
"bb_rank": 165,
"k_value": 23.0,
"k_rank": 243,
"k_per_9_value": 7.961539,
"k_per_9_rank": 34,
"whip_value": 1.3846,
"whip_rank": null,
"war_value": 0.11,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0134,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0134,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0073,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0309,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9939,
"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": 1,
"H": 4,
"BB": 3,
"SO": 10,
"HR": 0,
"ERA": 1.0384615384615383,
"WHIP": 0.8076923076923076,
"K9": 10.384615384615383,
"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-26T00:00:00"
}{
"available": true,
"pitcher_id": "672782",
"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": 91.37231914726796,
"release_spin_rate": 2480.313389874899,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.37231914726796,
"release_spin_rate": 2480.313389874899,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.3723,
"release_spin_rate": 2480.3134,
"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.0943,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.6739,
"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.128,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5063,
"prior_weight": 0.4937
},
"role": "pitcher",
"player_id": "672782",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.2,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 3.0,
"SO": 9.0,
"HR": 0.0,
"BF": 24.0,
"Pitches": 100.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.4,
"H": 0.8,
"BB": 0.6,
"SO": 1.8,
"HR": 0.0,
"BF": 4.8,
"Pitches": 20.0
},
"rates": {
"ERA": 1.5882,
"WHIP": 1.2353,
"ER_per_IP": 0.17647,
"H_per_IP": 0.70588,
"BB_per_IP": 0.52941,
"SO_per_IP": 1.58824,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 1.0,
"R": 2.0,
"H": 4.0,
"BB": 3.0,
"SO": 10.0,
"HR": 0.0,
"BF": 34.0,
"Pitches": 135.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.2,
"H": 0.4,
"BB": 0.3,
"SO": 1.0,
"HR": 0.0,
"BF": 3.4,
"Pitches": 13.5
},
"rates": {
"ERA": 1.0385,
"WHIP": 0.8077,
"ER_per_IP": 0.11538,
"H_per_IP": 0.46154,
"BB_per_IP": 0.34615,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.0
}
},
"season": {
"games": 19,
"totals": {
"IP": 26.0,
"ER": 13.0,
"R": 15.0,
"H": 23.0,
"BB": 13.0,
"SO": 23.0,
"HR": 5.0,
"BF": 116.0,
"Pitches": 433.0
},
"per_game": {
"IP": 1.1,
"ER": 0.6842,
"R": 0.7895,
"H": 1.2105,
"BB": 0.6842,
"SO": 1.2105,
"HR": 0.2632,
"BF": 6.1053,
"Pitches": 22.7895
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3846,
"ER_per_IP": 0.5,
"H_per_IP": 0.88462,
"BB_per_IP": 0.5,
"SO_per_IP": 0.88462,
"HR_per_IP": 0.19231
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.356,
"predicted_H": 0.825,
"predicted_BB": 0.429,
"predicted_SO": 1.16,
"predicted_HR": 0.087,
"predicted_ERA": 3.0954,
"predicted_WHIP": 1.2126
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5586,
"form_weight": 0.4414,
"form_reliability": 0.5063,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.128,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5063,
"prior_weight": 0.4937
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.356,
"final": 0.1571,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.825,
"final": 0.3642,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.429,
"final": 0.1894,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.16,
"final": 1.0706,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.087,
"final": 0.0384,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0954,
"final": 3.0954,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2126,
"final": 1.2126,
"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.2194 |
| ESPN Rank | 164 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2613 |
| Avg Velo | 85.0222 |
| Avg Spin | 2410.4720 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 2 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.2131 |
| Season WHIP | 1.4262 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"opponent": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"edges": {
"quality_edge": 0.1238,
"offense_edge": 0.0639,
"opponent_offense_edge": 0.0457,
"defense_strength": -0.0503,
"opponent_defense_weakness": 0.0972,
"recent_win_pct_edge": 0.2
},
"player_factors": {
"ip": 1.0016,
"run_prevention": 1.0062,
"strikeout": 1.0001
},
"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": 87.0,
"k_percent": 17.8,
"bb_percent": 6.7,
"woba": 0.344,
"xwoba": 0.344,
"sweet_spot_percent": 50.7,
"barrel_batted_rate": 7.5,
"hard_hit_percent": 29.9,
"avg_best_speed": 75.5847,
"avg_hyper_speed": 92.9306,
"whiff_percent": 16.5,
"swing_percent": 44.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.5345,
"command_and_miss": -0.6436,
"regression_edge": 0.0,
"xwoba_edge": -1.0,
"barrel_edge": -0.0444,
"hard_hit_edge": 1.2286,
"whiff_edge": -1.3429,
"bb_edge": 0.675,
"pitch_design_score": -0.2613
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "573124",
"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": 85.02217900019909,
"release_spin_rate": 2410.471965820289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 85.02217900019909,
"release_spin_rate": 2410.471965820289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0222,
"release_spin_rate": 2410.472,
"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.2613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.8662,
"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.2194,
"sample_weight": 0.45,
"run_prevention_factor": 1.0186,
"strikeout_factor": 0.9635,
"walk_factor": 0.9757,
"homer_factor": 0.993,
"woba_minus_xwoba": 0.0,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "573124",
"espn_id": 33671,
"player_name": "Taylor Rogers",
"team": "MIN",
"role": "pitcher",
"espn_rank": 164,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 164,
"gp_value": 23.0,
"gp_rank": 67,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.5409,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 2.0,
"sv_rank": 49,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 20.1,
"ip_rank": 303,
"h_value": 26.0,
"h_rank": 169,
"er_value": 8.0,
"er_rank": 303,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 6.0,
"bb_rank": 371,
"k_value": 16.0,
"k_rank": 335,
"k_per_9_value": 7.0819674,
"k_per_9_rank": 29,
"whip_value": 1.5737,
"whip_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 1.0084,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 1.0084,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9891,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9969,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9836,
"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": 13,
"BB": 0,
"SO": 9,
"HR": 0,
"ERA": 0.9,
"WHIP": 1.3,
"K9": 8.1,
"HR9": 0.0,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "573124",
"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": 85.02217900019909,
"release_spin_rate": 2410.471965820289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 85.02217900019909,
"release_spin_rate": 2410.471965820289,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.0222,
"release_spin_rate": 2410.472,
"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.2613,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.8662,
"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.011,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4451,
"prior_weight": 0.5549
},
"role": "pitcher",
"player_id": "573124",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 22,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 3.0,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 0.0,
"SO": 3.0,
"HR": 0.0,
"BF": 12.0,
"Pitches": 54.0
},
"per_game": {
"IP": 0.2,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.0,
"SO": 0.6,
"HR": 0.0,
"BF": 2.4,
"Pitches": 10.8
},
"rates": {
"ERA": 0.0,
"WHIP": 1.3333,
"ER_per_IP": 0.0,
"H_per_IP": 1.33333,
"BB_per_IP": 0.0,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 1.0,
"R": 1.0,
"H": 13.0,
"BB": 0.0,
"SO": 9.0,
"HR": 0.0,
"BF": 43.0,
"Pitches": 160.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 1.3,
"BB": 0.0,
"SO": 0.9,
"HR": 0.0,
"BF": 4.3,
"Pitches": 16.0
},
"rates": {
"ERA": 0.9,
"WHIP": 1.3,
"ER_per_IP": 0.1,
"H_per_IP": 1.3,
"BB_per_IP": 0.0,
"SO_per_IP": 0.9,
"HR_per_IP": 0.0
}
},
"season": {
"games": 22,
"totals": {
"IP": 20.1,
"ER": 5.0,
"R": 5.0,
"H": 24.0,
"BB": 5.0,
"SO": 16.0,
"HR": 0.0,
"BF": 87.0,
"Pitches": 340.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2273,
"R": 0.2273,
"H": 1.0909,
"BB": 0.2273,
"SO": 0.7273,
"HR": 0.0,
"BF": 3.9545,
"Pitches": 15.4545
},
"rates": {
"ERA": 2.2131,
"WHIP": 1.4262,
"ER_per_IP": 0.2459,
"H_per_IP": 1.18033,
"BB_per_IP": 0.2459,
"SO_per_IP": 0.78689,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 0.2,
"predicted_ER": 0.224,
"predicted_H": 0.822,
"predicted_BB": 0.17,
"predicted_SO": 0.699,
"predicted_HR": 0.054,
"predicted_ERA": 2.6906,
"predicted_WHIP": 1.3246
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5844,
"form_weight": 0.4156,
"form_reliability": 0.4451,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.011,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4451,
"prior_weight": 0.5549
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 0.2,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.224,
"final": 0.0931,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.822,
"final": 0.3416,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.17,
"final": 0.0706,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.699,
"final": 0.8749,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.054,
"final": 0.0224,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6906,
"final": 2.6906,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3246,
"final": 1.3246,
"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.199 | 0.000 | 0.000 | Hitting_2B | 0.195 | 0.000 | -0.195 | 0.000 |
| predicted_3B | 0.033 | 0.000 | 0.000 | Hitting_3B | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_AB | 3.483 | 3.000 | 7.000 | Hitting_AB | 3.416 | 4.000 | -0.416 | -1.000 |
| predicted_AVG | 0.255 | 0.333 | 0.143 | Hitting_AVG | 0.281 | 0.000 | 0.052 | 0.333 |
| predicted_BB | 0.543 | 1.000 | 1.000 | Hitting_BB | 0.552 | 0.000 | 0.448 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.026 | 0.000 | -0.026 | 0.000 |
| predicted_H | 0.330 | 1.000 | 1.000 | Hitting_H | 0.961 | 0.000 | 0.039 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_OBP | 0.319 | 0.500 | 0.250 | Hitting_OBP | 0.389 | 0.000 | 0.111 | 0.500 |
| predicted_R | 0.649 | 0.000 | 1.000 | Hitting_R | 0.636 | 0.000 | -0.636 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 1.000 | Hitting_RBI | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_SLG | 0.394 | 0.333 | 0.143 | Hitting_SLG | 0.403 | 0.000 | -0.070 | 0.333 |
| predicted_SO | 0.781 | 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 | 10 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 7 |
| Better Metrics | 2 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 0.7810 -> 2.0000 (boost 1.2190, worse) |
| Biggest Deboost | predicted_R: 0.6490 -> 0.0000 (deboost -0.6490, 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.4830 -> 7.0342 (boost 3.5512, better) | predicted_SLG: 0.3940 -> 0.3779 (deboost -0.0161, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 4 | 1 | 3 | 1 | 3 | predicted_R: 1.2107 -> 1.2613 (boost 0.0506, better) | predicted_SLG: 0.3779 -> 0.3207 (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 | 8 | 3 | 5 | 2 | 6 | predicted_RBI: 0.5445 -> 1.0000 (boost 0.4555, better) | predicted_H: 1.4585 -> 1.0000 (deboost -0.4585, worse) | AB rounded to 7 (raw=7.03), rates preserved: AVG=0.207 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2613 -> 1.0000 (deboost -0.2613, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3207 -> 0.1430 (deboost -0.1777, 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 -> 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.1430 -> 0.3207 (boost 0.1777, 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.199,
"predicted_3B": 0.033,
"predicted_AB": 3.483,
"predicted_AVG": 0.255,
"predicted_BB": 0.543,
"predicted_H": 0.33,
"predicted_HR": 0.04,
"predicted_OBP": 0.319,
"predicted_R": 0.649,
"predicted_RBI": 0.15,
"predicted_SLG": 0.394,
"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.4146,
"predicted_3B": 0.0557,
"predicted_AB": 7.0342,
"predicted_AVG": 0.2502,
"predicted_BB": 0.9192,
"predicted_H": 1.4228,
"predicted_HBP": 0.173,
"predicted_HR": 0.0884,
"predicted_OBP": 0.3231,
"predicted_R": 1.2107,
"predicted_RBI": 0.5227,
"predicted_SLG": 0.3779,
"predicted_SO": 1.7097
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.4146,
"delta": 0.2156,
"percent_delta": 1.0834,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0557,
"delta": 0.0227,
"percent_delta": 0.6879,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.483,
"after": 7.0342,
"delta": 3.5512,
"percent_delta": 1.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2502,
"delta": -0.0048,
"percent_delta": -0.0188,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.543,
"after": 0.9192,
"delta": 0.3762,
"percent_delta": 0.6928,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.33,
"after": 1.4228,
"delta": 1.0928,
"percent_delta": 3.3115,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0884,
"delta": 0.0484,
"percent_delta": 1.21,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.3231,
"delta": 0.0041,
"percent_delta": 0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.649,
"after": 1.2107,
"delta": 0.5617,
"percent_delta": 0.8655,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.5227,
"delta": 0.3727,
"percent_delta": 2.4847,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3779,
"delta": -0.0161,
"percent_delta": -0.0409,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 1.7097,
"delta": 0.9287,
"percent_delta": 1.1891,
"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.483,
"after": 7.0342,
"delta": 3.5512,
"percent_delta": 1.0196,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.394,
"after": 0.3779,
"delta": -0.0161,
"percent_delta": -0.0409,
"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": 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.4146,
"predicted_3B": 0.0557,
"predicted_AB": 7.0342,
"predicted_AVG": 0.2073,
"predicted_BB": 0.925,
"predicted_H": 1.4585,
"predicted_HBP": 0.173,
"predicted_HR": 0.0905,
"predicted_OBP": 0.2995,
"predicted_R": 1.2613,
"predicted_RBI": 0.5445,
"predicted_SLG": 0.3207,
"predicted_SO": 1.6989
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4146,
"after": 0.4146,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0557,
"after": 0.0557,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0342,
"after": 7.0342,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2502,
"after": 0.2073,
"delta": -0.0429,
"percent_delta": -0.1715,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.9192,
"after": 0.925,
"delta": 0.0058,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4228,
"after": 1.4585,
"delta": 0.0357,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.173,
"after": 0.173,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0884,
"after": 0.0905,
"delta": 0.0021,
"percent_delta": 0.0238,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3231,
"after": 0.2995,
"delta": -0.0236,
"percent_delta": -0.073,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2107,
"after": 1.2613,
"delta": 0.0506,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5227,
"after": 0.5445,
"delta": 0.0218,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3779,
"after": 0.3207,
"delta": -0.0572,
"percent_delta": -0.1514,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7097,
"after": 1.6989,
"delta": -0.0108,
"percent_delta": -0.0063,
"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_R",
"before": 1.2107,
"after": 1.2613,
"delta": 0.0506,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3779,
"after": 0.3207,
"delta": -0.0572,
"percent_delta": -0.1514,
"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.207 HR/AB=0.013",
"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.4146,
"after": 0.0,
"delta": -0.4146,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0557,
"after": 0.0,
"delta": -0.0557,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.0342,
"after": 7.0,
"delta": -0.0342,
"percent_delta": -0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.925,
"after": 1.0,
"delta": 0.075,
"percent_delta": 0.0811,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4585,
"after": 1.0,
"delta": -0.4585,
"percent_delta": -0.3144,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.173,
"after": 0.0,
"delta": -0.173,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0905,
"after": 0.0,
"delta": -0.0905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5445,
"after": 1.0,
"delta": 0.4555,
"percent_delta": 0.8365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6989,
"after": 2.0,
"delta": 0.3011,
"percent_delta": 0.1772,
"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.5445,
"after": 1.0,
"delta": 0.4555,
"percent_delta": 0.8365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.4585,
"after": 1.0,
"delta": -0.4585,
"percent_delta": -0.3144,
"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.2613,
"after": 1.0,
"delta": -0.2613,
"percent_delta": -0.2072,
"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.2613,
"after": 1.0,
"delta": -0.2613,
"percent_delta": -0.2072,
"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.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.2073,
"after": 0.143,
"delta": -0.0643,
"percent_delta": -0.3102,
"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.2995,
"after": 0.25,
"delta": -0.0495,
"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_SLG",
"before": 0.3207,
"after": 0.143,
"delta": -0.1777,
"percent_delta": -0.5541,
"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.3207,
"after": 0.143,
"delta": -0.1777,
"percent_delta": -0.5541,
"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": 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": 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.2073,
"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.2995,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3207,
"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.143,
"after": 0.2073,
"delta": 0.0643,
"percent_delta": 0.45,
"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.25,
"after": 0.2995,
"delta": 0.0495,
"percent_delta": 0.1979,
"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.3207,
"delta": 0.1777,
"percent_delta": 1.2428,
"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.3207,
"delta": 0.1777,
"percent_delta": 1.2428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.033,
"after": 0.0,
"delta": -0.033,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.483,
"after": 3.0,
"delta": -0.483,
"percent_delta": -0.1387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2073,
"delta": -0.0477,
"percent_delta": -0.1871,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.543,
"after": 1.0,
"delta": 0.457,
"percent_delta": 0.8416,
"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.04,
"after": 0.0,
"delta": -0.04,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.319,
"after": 0.2995,
"delta": -0.0195,
"percent_delta": -0.0611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"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.394,
"after": 0.3207,
"delta": -0.0733,
"percent_delta": -0.186,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.781,
"after": 2.0,
"delta": 1.219,
"percent_delta": 1.5608,
"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.781,
"after": 2.0,
"delta": 1.219,
"percent_delta": 1.5608,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.649,
"after": 0.0,
"delta": -0.649,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.199 | - |
| predicted_3B | 0.033 | - |
| predicted_AB | 3.483 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.543 | - |
| predicted_H | 0.330 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.319 | - |
| predicted_R | 0.649 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.394 | - |
| 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.415 | 0.216 |
| predicted_3B | 0.056 | 0.023 |
| predicted_AB | 7.034 | 3.551 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 0.919 | 0.376 |
| predicted_H | 1.423 | 1.093 |
| predicted_HBP | 0.173 | - |
| predicted_HR | 0.088 | 0.048 |
| predicted_OBP | 0.323 | 0.004 |
| predicted_R | 1.211 | 0.562 |
| predicted_RBI | 0.523 | 0.373 |
| predicted_SLG | 0.378 | -0.016 |
| predicted_SO | 1.710 | 0.929 |
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.056 | 0.000 |
| predicted_AB | 7.034 | 0.000 |
| predicted_AVG | 0.207 | -0.043 |
| predicted_BB | 0.925 | 0.006 |
| predicted_H | 1.458 | 0.036 |
| predicted_HBP | 0.173 | 0.000 |
| predicted_HR | 0.090 | 0.002 |
| predicted_OBP | 0.299 | -0.024 |
| predicted_R | 1.261 | 0.051 |
| predicted_RBI | 0.544 | 0.022 |
| predicted_SLG | 0.321 | -0.057 |
| predicted_SO | 1.699 | -0.011 |
AB rounded to 7 (raw=7.03), rates preserved: AVG=0.207 HR/AB=0.013
| 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.415 |
| predicted_3B | 0.000 | -0.056 |
| predicted_AB | 7.000 | -0.034 |
| predicted_AVG | 0.143 | -0.064 |
| predicted_BB | 1.000 | 0.075 |
| predicted_H | 1.000 | -0.458 |
| predicted_HR | 0.000 | -0.090 |
| predicted_OBP | 0.250 | -0.049 |
| predicted_R | 1.000 | -0.261 |
| predicted_RBI | 1.000 | 0.456 |
| predicted_SLG | 0.143 | -0.178 |
| predicted_SO | 2.000 | 0.301 |
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 | 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 | 2 | - | 19.000 | 1.000 | 1.000 | 0.000 | 0.000 | 0.000 | 1.000 | 0.000 | 6.000 | 0.0526 | 0.0526 | 0.1053 | 0.0526 | 0.0000 | 0.0000 | 0.0000 | 0.3158 |
| last_10 | 0.20 | 4 | - | 33.000 | 5.000 | 3.000 | 0.000 | 0.000 | 1.000 | 5.000 | 0.000 | 13.000 | 0.1515 | 0.1765 | 0.2424 | 0.1515 | 0.0000 | 0.0303 | 0.0000 | 0.3939 |
| season | 0.60 | 41 | - | 526.000 | 148.000 | 30.000 | 5.000 | 8.000 | 54.000 | 98.000 | 82.000 | 118.000 | 0.2814 | 0.3864 | 0.4030 | 0.2814 | 0.0152 | 0.1027 | 0.1559 | 0.2243 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6930 |
| predicted_3B | 0.0850 |
| predicted_AB | 11.6200 |
| predicted_AVG | 0.2439 |
| predicted_BB | 1.4050 |
| predicted_H | 2.8340 |
| predicted_HBP | 0.1730 |
| predicted_HR | 0.1510 |
| predicted_OBP | 0.3284 |
| predicted_R | 1.9360 |
| predicted_RBI | 1.0040 |
| predicted_SLG | 0.3572 |
| predicted_SO | 2.9090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1990 | 0.6930 | 0.4146 | model_form_blend |
| predicted_3B | 0.0330 | 0.0850 | 0.0557 | model_form_blend |
| predicted_AB | 3.4830 | 11.6200 | 7.0342 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2439 | 0.2502 | model_form_blend |
| predicted_BB | 0.5430 | 1.4050 | 0.9192 | model_form_blend |
| predicted_H | 0.3300 | 2.8340 | 1.4228 | model_form_blend |
| predicted_HBP | - | 0.1730 | 0.1730 | form_only |
| predicted_HR | 0.0400 | 0.1510 | 0.0884 | model_form_blend |
| predicted_OBP | 0.3190 | 0.3284 | 0.3231 | model_form_blend |
| predicted_R | 0.6490 | 1.9360 | 1.2107 | model_form_blend |
| predicted_RBI | 0.1500 | 1.0040 | 0.5227 | model_form_blend |
| predicted_SLG | 0.3940 | 0.3572 | 0.3779 | model_form_blend |
| predicted_SO | 0.7810 | 2.9090 | 1.7097 | 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 | 151 |
| 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.281 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 663616 |
| playerID | 663616 |
| playerName | Trevor Larnach |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 18.5 |
| sl_bb_percent | 14.6 |
| sl_woba | 0.359 |
| sl_xwoba | 0.323 |
| sl_xba | 0.24 |
| sl_xslg | 0.349 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 6.1 |
| sl_hard_hit_percent | 32.3 |
| sl_exit_velocity_avg | 86.5 |
| sl_launch_angle_avg | 11.3 |
| sl_whiff_percent | 26.3 |
| sl_swing_percent | 40.9 |
| at_bat_number | 76.0 |
| ab_pitcher | 670950.0 |
| ab_pitcher_name | Richards, Trevor |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 15.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 15.0 |
| ab_event | field_out |
| ab_event_description | Trevor Larnach flies out to center fielder Tristan Peters. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 90.1 |
| ab_launch_angle_last | 36.0 |
| ab_hit_distance_last | 300.0 |
| ab_estimated_ba_last | 0.031 |
| ab_estimated_woba_last | 0.053 |
| ab_estimated_slg_last | 0.091 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 15.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 15.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 92.0 |
| ab_release_spin_rate_avg | 2301.0 |
| ab_effective_speed_avg | 92.5 |
| ab_launch_speed_avg | 90.1 |
| ab_launch_angle_avg | 36.0 |
| ab_delta_run_exp_avg | -0.244 |
| ab_delta_home_win_exp_avg | 0.001 |
| ab_delta_pitcher_run_exp_avg | 0.244 |
| ab_bat_speed_avg | 69.4 |
| ab_swing_length_avg | 6.6 |
| ab_launch_speed_max | 90.1 |
| ab_hit_distance_sc_max | 300.0 |
| ab_release_speed_max | 92.0 |
| ab_release_spin_rate_max | 2301.0 |
| ab_release_speed_min | 92.0 |
| ab_release_spin_rate_min | 2301.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.201 | 0.000 | 0.000 | Hitting_2B | 0.200 | 0.000 | -0.200 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.080 | 4.000 | 8.000 | Hitting_AB | 3.776 | 3.000 | 0.224 | 1.000 |
| predicted_AVG | 0.243 | 0.000 | 0.250 | Hitting_AVG | 0.255 | 0.000 | -0.255 | 0.000 |
| predicted_BB | 0.284 | 0.000 | 1.000 | Hitting_BB | 0.283 | 0.000 | -0.283 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.024 | 0.000 | -0.024 | 0.000 |
| predicted_H | 0.990 | 0.000 | 2.000 | Hitting_H | 0.961 | 0.000 | -0.961 | 0.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_OBP | 0.322 | 0.000 | 0.333 | Hitting_OBP | 0.313 | 0.000 | -0.313 | 0.000 |
| predicted_R | 0.505 | 0.000 | 1.000 | Hitting_R | 0.502 | 0.000 | -0.502 | 0.000 |
| predicted_RBI | 0.610 | 0.000 | 1.000 | Hitting_RBI | 0.590 | 0.000 | -0.590 | 0.000 |
| predicted_SLG | 0.424 | 0.000 | 0.250 | Hitting_SLG | 0.411 | 0.000 | -0.411 | 0.000 |
| predicted_SO | 0.725 | 3.000 | 1.000 | Hitting_SO | 0.722 | 1.000 | 2.278 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 9 |
| Better Metrics | 1 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.7250 -> 3.0000 (boost 2.2750, worse) |
| 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 | 8 | 2 | 7 | 3 | predicted_AB: 4.0800 -> 8.4786 (boost 4.3986, better) | predicted_OBP: 0.3220 -> 0.3137 (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 | 5 | 3 | 2 | 3 | 2 | predicted_RBI: 1.4995 -> 1.5622 (boost 0.0627, better) | predicted_OBP: 0.3137 -> 0.3013 (deboost -0.0124, 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.5523 -> 1.0000 (boost 0.4477, better) | predicted_RBI: 1.5622 -> 1.0000 (deboost -0.5622, worse) | AB rounded to 8 (raw=8.48), rates preserved: AVG=0.256 HR/AB=0.030 |
| 5 | consistency_constraints | 0 | 0 | 0 | 0 | 0 | - | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3013 -> 0.3330 (boost 0.0317, better) | predicted_SLG: 0.4123 -> 0.2500 (deboost -0.1623, 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: 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.4123 (boost 0.1623, better) | predicted_OBP: 0.3330 -> 0.3013 (deboost -0.0317, 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.201,
"predicted_3B": 0.02,
"predicted_AB": 4.08,
"predicted_AVG": 0.243,
"predicted_BB": 0.284,
"predicted_H": 0.99,
"predicted_HR": 0.12,
"predicted_OBP": 0.322,
"predicted_R": 0.505,
"predicted_RBI": 0.61,
"predicted_SLG": 0.424,
"predicted_SO": 0.725
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4984,
"predicted_3B": 0.0376,
"predicted_AB": 8.4786,
"predicted_AVG": 0.247,
"predicted_BB": 0.5488,
"predicted_H": 2.1157,
"predicted_HBP": 0.159,
"predicted_HR": 0.2454,
"predicted_OBP": 0.3137,
"predicted_R": 0.9898,
"predicted_RBI": 1.4995,
"predicted_SLG": 0.4176,
"predicted_SO": 1.5358
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.201,
"after": 0.4984,
"delta": 0.2974,
"percent_delta": 1.4796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0376,
"delta": 0.0176,
"percent_delta": 0.88,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.08,
"after": 8.4786,
"delta": 4.3986,
"percent_delta": 1.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.247,
"delta": 0.004,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.5488,
"delta": 0.2648,
"percent_delta": 0.9324,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 2.1157,
"delta": 1.1257,
"percent_delta": 1.1371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.2454,
"delta": 0.1254,
"percent_delta": 1.045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3137,
"delta": -0.0083,
"percent_delta": -0.0258,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.9898,
"delta": 0.4848,
"percent_delta": 0.96,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 1.4995,
"delta": 0.8895,
"percent_delta": 1.4582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4176,
"delta": -0.0064,
"percent_delta": -0.0151,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.725,
"after": 1.5358,
"delta": 0.8108,
"percent_delta": 1.1183,
"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.08,
"after": 8.4786,
"delta": 4.3986,
"percent_delta": 1.0781,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3137,
"delta": -0.0083,
"percent_delta": -0.0258,
"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": 3,
"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.4984,
"predicted_3B": 0.0376,
"predicted_AB": 8.4786,
"predicted_AVG": 0.2558,
"predicted_BB": 0.5523,
"predicted_H": 2.1688,
"predicted_HBP": 0.159,
"predicted_HR": 0.2512,
"predicted_OBP": 0.3013,
"predicted_R": 1.0312,
"predicted_RBI": 1.5622,
"predicted_SLG": 0.4123,
"predicted_SO": 1.5261
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4984,
"after": 0.4984,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0376,
"after": 0.0376,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.4786,
"after": 8.4786,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.247,
"after": 0.2558,
"delta": 0.0088,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5488,
"after": 0.5523,
"delta": 0.0035,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1157,
"after": 2.1688,
"delta": 0.0531,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"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.2454,
"after": 0.2512,
"delta": 0.0058,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3137,
"after": 0.3013,
"delta": -0.0124,
"percent_delta": -0.0395,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9898,
"after": 1.0312,
"delta": 0.0414,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.4995,
"after": 1.5622,
"delta": 0.0627,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4176,
"after": 0.4123,
"delta": -0.0053,
"percent_delta": -0.0127,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5358,
"after": 1.5261,
"delta": -0.0097,
"percent_delta": -0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 3,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.4995,
"after": 1.5622,
"delta": 0.0627,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3137,
"after": 0.3013,
"delta": -0.0124,
"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=8.48), rates preserved: AVG=0.256 HR/AB=0.030",
"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.4984,
"after": 0.0,
"delta": -0.4984,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0376,
"after": 0.0,
"delta": -0.0376,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.4786,
"after": 8.0,
"delta": -0.4786,
"percent_delta": -0.0564,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5523,
"after": 1.0,
"delta": 0.4477,
"percent_delta": 0.8106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1688,
"after": 2.0,
"delta": -0.1688,
"percent_delta": -0.0778,
"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.2512,
"after": 0.0,
"delta": -0.2512,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5622,
"after": 1.0,
"delta": -0.5622,
"percent_delta": -0.3599,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5261,
"after": 1.0,
"delta": -0.5261,
"percent_delta": -0.3447,
"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.5523,
"after": 1.0,
"delta": 0.4477,
"percent_delta": 0.8106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5622,
"after": 1.0,
"delta": -0.5622,
"percent_delta": -0.3599,
"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.0312,
"after": 1.0,
"delta": -0.0312,
"percent_delta": -0.0303,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.2558,
"after": 0.25,
"delta": -0.0058,
"percent_delta": -0.0227,
"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.3013,
"after": 0.333,
"delta": 0.0317,
"percent_delta": 0.1052,
"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.4123,
"after": 0.25,
"delta": -0.1623,
"percent_delta": -0.3936,
"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.3013,
"after": 0.333,
"delta": 0.0317,
"percent_delta": 0.1052,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4123,
"after": 0.25,
"delta": -0.1623,
"percent_delta": -0.3936,
"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": 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": 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.2558,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3013,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4123,
"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.25,
"after": 0.2558,
"delta": 0.0058,
"percent_delta": 0.0232,
"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.3013,
"delta": -0.0317,
"percent_delta": -0.0952,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.4123,
"delta": 0.1623,
"percent_delta": 0.6493,
"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.4123,
"delta": 0.1623,
"percent_delta": 0.6493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3013,
"delta": -0.0317,
"percent_delta": -0.0952,
"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.201,
"after": 0.0,
"delta": -0.201,
"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.08,
"after": 4.0,
"delta": -0.08,
"percent_delta": -0.0196,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.243,
"after": 0.2558,
"delta": 0.0128,
"percent_delta": 0.0527,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.284,
"after": 0.0,
"delta": -0.284,
"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.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.3013,
"delta": -0.0207,
"percent_delta": -0.0643,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.61,
"after": 0.0,
"delta": -0.61,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.424,
"after": 0.4123,
"delta": -0.0117,
"percent_delta": -0.0276,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.725,
"after": 3.0,
"delta": 2.275,
"percent_delta": 3.1379,
"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.725,
"after": 3.0,
"delta": 2.275,
"percent_delta": 3.1379,
"direction": "boost",
"projection_effect": "worse",
"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.201 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.080 | - |
| predicted_AVG | 0.243 | - |
| predicted_BB | 0.284 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.610 | - |
| predicted_SLG | 0.424 | - |
| predicted_SO | 0.725 | - |
Final model 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.498 | 0.297 |
| predicted_3B | 0.038 | 0.018 |
| predicted_AB | 8.479 | 4.399 |
| predicted_AVG | 0.247 | 0.004 |
| predicted_BB | 0.549 | 0.265 |
| predicted_H | 2.116 | 1.126 |
| predicted_HBP | 0.159 | - |
| predicted_HR | 0.245 | 0.125 |
| predicted_OBP | 0.314 | -0.008 |
| predicted_R | 0.990 | 0.485 |
| predicted_RBI | 1.500 | 0.890 |
| predicted_SLG | 0.418 | -0.006 |
| predicted_SO | 1.536 | 0.811 |
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.498 | 0.000 |
| predicted_3B | 0.038 | 0.000 |
| predicted_AB | 8.479 | 0.000 |
| predicted_AVG | 0.256 | 0.009 |
| predicted_BB | 0.552 | 0.004 |
| predicted_H | 2.169 | 0.053 |
| predicted_HBP | 0.159 | 0.000 |
| predicted_HR | 0.251 | 0.006 |
| predicted_OBP | 0.301 | -0.012 |
| predicted_R | 1.031 | 0.041 |
| predicted_RBI | 1.562 | 0.063 |
| predicted_SLG | 0.412 | -0.005 |
| predicted_SO | 1.526 | -0.010 |
AB rounded to 8 (raw=8.48), rates preserved: AVG=0.256 HR/AB=0.030
| 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.498 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 8.000 | -0.479 |
| predicted_AVG | 0.250 | -0.006 |
| predicted_BB | 1.000 | 0.448 |
| predicted_H | 2.000 | -0.169 |
| predicted_HR | 0.000 | -0.251 |
| predicted_OBP | 0.333 | 0.032 |
| predicted_R | 1.000 | -0.031 |
| predicted_RBI | 1.000 | -0.562 |
| predicted_SLG | 0.250 | -0.162 |
| predicted_SO | 1.000 | -0.526 |
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 | 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 | 2 | - | 19.000 | 4.000 | 2.000 | 0.000 | 0.000 | 6.000 | 0.000 | 0.000 | 3.000 | 0.2105 | 0.2105 | 0.3158 | 0.2105 | 0.0000 | 0.3158 | 0.0000 | 0.1579 |
| last_10 | 0.20 | 3 | - | 40.000 | 12.000 | 5.000 | 0.000 | 2.000 | 17.000 | 2.000 | 0.000 | 3.000 | 0.3000 | 0.3333 | 0.5750 | 0.3000 | 0.0500 | 0.4250 | 0.0000 | 0.0750 |
| season | 0.60 | 51 | - | 774.000 | 197.000 | 41.000 | 4.000 | 24.000 | 121.000 | 103.000 | 58.000 | 148.000 | 0.2545 | 0.3131 | 0.4109 | 0.2545 | 0.0310 | 0.1563 | 0.0749 | 0.1912 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8770 |
| predicted_3B | 0.0600 |
| predicted_AB | 14.0790 |
| predicted_AVG | 0.2521 |
| predicted_BB | 0.8860 |
| predicted_H | 3.5490 |
| predicted_HBP | 0.1590 |
| predicted_HR | 0.4050 |
| predicted_OBP | 0.3032 |
| predicted_R | 1.6070 |
| predicted_RBI | 2.6320 |
| predicted_SLG | 0.4094 |
| predicted_SO | 2.5680 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2010 | 0.8770 | 0.4984 | model_form_blend |
| predicted_3B | 0.0200 | 0.0600 | 0.0376 | model_form_blend |
| predicted_AB | 4.0800 | 14.0790 | 8.4786 | model_form_blend |
| predicted_AVG | 0.2430 | 0.2521 | 0.2470 | model_form_blend |
| predicted_BB | 0.2840 | 0.8860 | 0.5488 | model_form_blend |
| predicted_H | 0.9900 | 3.5490 | 2.1157 | model_form_blend |
| predicted_HBP | - | 0.1590 | 0.1590 | form_only |
| predicted_HR | 0.1200 | 0.4050 | 0.2454 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3032 | 0.3137 | model_form_blend |
| predicted_R | 0.5050 | 1.6070 | 0.9898 | model_form_blend |
| predicted_RBI | 0.6100 | 2.6320 | 1.4995 | model_form_blend |
| predicted_SLG | 0.4240 | 0.4094 | 0.4176 | model_form_blend |
| predicted_SO | 0.7250 | 2.5680 | 1.5358 | 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 | 204 |
| 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.255 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 686797 |
| playerID | 686797 |
| playerName | Brooks Lee |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 6.5 |
| sl_woba | 0.325 |
| sl_xwoba | 0.275 |
| sl_xba | 0.225 |
| sl_xslg | 0.336 |
| sl_sweet_spot_percent | 35.3 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 28.7 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 12.2 |
| sl_whiff_percent | 20.7 |
| sl_swing_percent | 51.3 |
| at_bat_number | 52.0 |
| ab_pitcher | 685126.0 |
| ab_pitcher_name | Eisert, Brandon |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.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 | 9.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 9.0 |
| ab_event | field_out |
| ab_event_description | Brooks Lee grounds out, third baseman Colson Montgomery to first baseman Miguel Vargas. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 5.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 78.7 |
| ab_launch_angle_last | -43.0 |
| ab_hit_distance_last | 1.0 |
| ab_estimated_ba_last | 0.099 |
| ab_estimated_woba_last | 0.089 |
| ab_estimated_slg_last | 0.099 |
| 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 | 1.0 |
| ab_home_score_end | 9.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 9.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 86.66666666666667 |
| ab_release_spin_rate_avg | 1803.6666666666667 |
| ab_effective_speed_avg | 88.5 |
| ab_launch_speed_avg | 78.7 |
| ab_launch_angle_avg | -43.0 |
| ab_delta_run_exp_avg | -0.0853333333333333 |
| ab_delta_home_win_exp_avg | 0.0003333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0853333333333333 |
| ab_bat_speed_avg | 62.8 |
| ab_swing_length_avg | 7.2 |
| ab_launch_speed_max | 78.7 |
| ab_hit_distance_sc_max | 1.0 |
| ab_release_speed_max | 88.9 |
| ab_release_spin_rate_max | 2079.0 |
| ab_release_speed_min | 82.3 |
| ab_release_spin_rate_min | 1287.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.234 | 0.000 | 0.000 | Hitting_2B | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 4.770 | 4.000 | 10.000 | Hitting_AB | 4.304 | 3.000 | -0.304 | 1.000 |
| predicted_AVG | 0.231 | 0.000 | 0.300 | Hitting_AVG | 0.268 | 0.333 | -0.268 | -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.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.100 | 0.000 | 3.000 | Hitting_H | 1.154 | 1.000 | -1.154 | -1.000 |
| predicted_HR | 0.310 | 0.000 | 1.000 | Hitting_HR | 0.388 | 1.000 | -0.388 | -1.000 |
| predicted_OBP | 0.320 | 0.000 | 0.364 | Hitting_OBP | 0.327 | 0.333 | -0.327 | -0.333 |
| predicted_R | 0.860 | 0.000 | 2.000 | Hitting_R | 0.860 | 1.000 | -0.860 | -1.000 |
| predicted_RBI | 0.620 | 0.000 | 1.000 | Hitting_RBI | 0.631 | 1.000 | -0.631 | -1.000 |
| predicted_SLG | 0.506 | 0.000 | 0.600 | Hitting_SLG | 0.602 | 1.333 | -0.602 | -1.333 |
| predicted_SO | 1.229 | 0.000 | 3.000 | Hitting_SO | 1.229 | 0.000 | -1.229 | 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_SLG: 0.5060 -> 0.5819 (boost 0.0759, better) |
| Biggest Deboost | predicted_SO: 1.2290 -> 0.0000 (deboost -1.2290, 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: 4.7700 -> 10.3980 (boost 5.6280, 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_R: 2.0999 -> 2.1877 (boost 0.0878, better) | predicted_OBP: 0.3188 -> 0.3099 (deboost -0.0089, 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: 2.6200 -> 3.0000 (boost 0.3800, better) | predicted_RBI: 1.5379 -> 1.0000 (deboost -0.5379, worse) | AB rounded to 10 (raw=10.40), rates preserved: AVG=0.252 HR/AB=0.091 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 2.1877 -> 2.0000 (deboost -0.1877, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_OBP: 0.3099 -> 0.3640 (boost 0.0541, better) | - | 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: 10.0000 -> 4.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_OBP: 0.3640 -> 0.3099 (deboost -0.0541, worse) | 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.234,
"predicted_3B": 0.019,
"predicted_AB": 4.77,
"predicted_AVG": 0.231,
"predicted_BB": 0.332,
"predicted_H": 1.1,
"predicted_HR": 0.31,
"predicted_OBP": 0.32,
"predicted_R": 0.86,
"predicted_RBI": 0.62,
"predicted_SLG": 0.506,
"predicted_SO": 1.229
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0384,
"predicted_AB": 10.398,
"predicted_AVG": 0.2398,
"predicted_BB": 0.8667,
"predicted_H": 2.5558,
"predicted_HBP": 0.174,
"predicted_HR": 0.9277,
"predicted_OBP": 0.3188,
"predicted_R": 2.0999,
"predicted_RBI": 1.4762,
"predicted_SLG": 0.5472,
"predicted_SO": 2.7046
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.5051,
"delta": 0.2711,
"percent_delta": 1.1585,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0384,
"delta": 0.0194,
"percent_delta": 1.0211,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.77,
"after": 10.398,
"delta": 5.628,
"percent_delta": 1.1799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2398,
"delta": 0.0088,
"percent_delta": 0.0381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.332,
"after": 0.8667,
"delta": 0.5347,
"percent_delta": 1.6105,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1,
"after": 2.5558,
"delta": 1.4558,
"percent_delta": 1.3235,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.9277,
"delta": 0.6177,
"percent_delta": 1.9926,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3188,
"delta": -0.0012,
"percent_delta": -0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.86,
"after": 2.0999,
"delta": 1.2399,
"percent_delta": 1.4417,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.62,
"after": 1.4762,
"delta": 0.8562,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.506,
"after": 0.5472,
"delta": 0.0412,
"percent_delta": 0.0814,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.229,
"after": 2.7046,
"delta": 1.4756,
"percent_delta": 1.2007,
"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.77,
"after": 10.398,
"delta": 5.628,
"percent_delta": 1.1799,
"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": 3,
"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.5051,
"predicted_3B": 0.0384,
"predicted_AB": 10.398,
"predicted_AVG": 0.252,
"predicted_BB": 0.8722,
"predicted_H": 2.62,
"predicted_HBP": 0.174,
"predicted_HR": 0.9496,
"predicted_OBP": 0.3099,
"predicted_R": 2.1877,
"predicted_RBI": 1.5379,
"predicted_SLG": 0.5819,
"predicted_SO": 2.6876
},
"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.0384,
"after": 0.0384,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.398,
"after": 10.398,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2398,
"after": 0.252,
"delta": 0.0122,
"percent_delta": 0.0509,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8667,
"after": 0.8722,
"delta": 0.0055,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.5558,
"after": 2.62,
"delta": 0.0642,
"percent_delta": 0.0251,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.174,
"after": 0.174,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.9277,
"after": 0.9496,
"delta": 0.0219,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3188,
"after": 0.3099,
"delta": -0.0089,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 2.0999,
"after": 2.1877,
"delta": 0.0878,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4762,
"after": 1.5379,
"delta": 0.0617,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.5472,
"after": 0.5819,
"delta": 0.0347,
"percent_delta": 0.0634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.7046,
"after": 2.6876,
"delta": -0.017,
"percent_delta": -0.0063,
"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_R",
"before": 2.0999,
"after": 2.1877,
"delta": 0.0878,
"percent_delta": 0.0418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3188,
"after": 0.3099,
"delta": -0.0089,
"percent_delta": -0.0279,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=10.40), rates preserved: AVG=0.252 HR/AB=0.091",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.5051,
"after": 0.0,
"delta": -0.5051,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0384,
"after": 0.0,
"delta": -0.0384,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.398,
"after": 10.0,
"delta": -0.398,
"percent_delta": -0.0383,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8722,
"after": 1.0,
"delta": 0.1278,
"percent_delta": 0.1465,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.62,
"after": 3.0,
"delta": 0.38,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.174,
"after": 0.0,
"delta": -0.174,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.9496,
"after": 1.0,
"delta": 0.0504,
"percent_delta": 0.0531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5379,
"after": 1.0,
"delta": -0.5379,
"percent_delta": -0.3498,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.6876,
"after": 3.0,
"delta": 0.3124,
"percent_delta": 0.1162,
"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": 2.62,
"after": 3.0,
"delta": 0.38,
"percent_delta": 0.145,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.5379,
"after": 1.0,
"delta": -0.5379,
"percent_delta": -0.3498,
"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": 10.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": 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": 10.0,
"after": 10.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": 2.1877,
"after": 2.0,
"delta": -0.1877,
"percent_delta": -0.0858,
"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": 2.1877,
"after": 2.0,
"delta": -0.1877,
"percent_delta": -0.0858,
"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": 10.0,
"predicted_AVG": 0.3,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.364,
"predicted_R": 2.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.6,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.252,
"after": 0.3,
"delta": 0.048,
"percent_delta": 0.1905,
"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.3099,
"after": 0.364,
"delta": 0.0541,
"percent_delta": 0.1746,
"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.5819,
"after": 0.6,
"delta": 0.0181,
"percent_delta": 0.0311,
"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_OBP",
"before": 0.3099,
"after": 0.364,
"delta": 0.0541,
"percent_delta": 0.1746,
"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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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": 3.0,
"after": 0.0,
"delta": -3.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": 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": 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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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.252,
"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.3099,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5819,
"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.3,
"after": 0.252,
"delta": -0.048,
"percent_delta": -0.1601,
"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.364,
"after": 0.3099,
"delta": -0.0541,
"percent_delta": -0.1488,
"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.6,
"after": 0.5819,
"delta": -0.0181,
"percent_delta": -0.0302,
"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.364,
"after": 0.3099,
"delta": -0.0541,
"percent_delta": -0.1488,
"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.234,
"after": 0.0,
"delta": -0.234,
"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.77,
"after": 4.0,
"delta": -0.77,
"percent_delta": -0.1614,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.252,
"delta": 0.021,
"percent_delta": 0.0909,
"direction": "boost",
"projection_effect": "better",
"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": 1.1,
"after": 0.0,
"delta": -1.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.31,
"after": 0.0,
"delta": -0.31,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3099,
"delta": -0.0101,
"percent_delta": -0.0316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.86,
"after": 0.0,
"delta": -0.86,
"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.506,
"after": 0.5819,
"delta": 0.0759,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.229,
"after": 0.0,
"delta": -1.229,
"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_SLG",
"before": 0.506,
"after": 0.5819,
"delta": 0.0759,
"percent_delta": 0.15,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.229,
"after": 0.0,
"delta": -1.229,
"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.234 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 4.770 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.332 | - |
| predicted_H | 1.100 | - |
| predicted_HR | 0.310 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.860 | - |
| predicted_RBI | 0.620 | - |
| predicted_SLG | 0.506 | - |
| predicted_SO | 1.229 | - |
Final model 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.271 |
| predicted_3B | 0.038 | 0.019 |
| predicted_AB | 10.398 | 5.628 |
| predicted_AVG | 0.240 | 0.009 |
| predicted_BB | 0.867 | 0.535 |
| predicted_H | 2.556 | 1.456 |
| predicted_HBP | 0.174 | - |
| predicted_HR | 0.928 | 0.618 |
| predicted_OBP | 0.319 | -0.001 |
| predicted_R | 2.100 | 1.240 |
| predicted_RBI | 1.476 | 0.856 |
| predicted_SLG | 0.547 | 0.041 |
| predicted_SO | 2.705 | 1.476 |
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.038 | 0.000 |
| predicted_AB | 10.398 | 0.000 |
| predicted_AVG | 0.252 | 0.012 |
| predicted_BB | 0.872 | 0.005 |
| predicted_H | 2.620 | 0.064 |
| predicted_HBP | 0.174 | 0.000 |
| predicted_HR | 0.950 | 0.022 |
| predicted_OBP | 0.310 | -0.009 |
| predicted_R | 2.188 | 0.088 |
| predicted_RBI | 1.538 | 0.062 |
| predicted_SLG | 0.582 | 0.035 |
| predicted_SO | 2.688 | -0.017 |
AB rounded to 10 (raw=10.40), rates preserved: AVG=0.252 HR/AB=0.091
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.000 | - |
| BB | 1.000 | - |
| H | 3.000 | - |
| HBP | 0.000 | - |
| HR | 1.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 | 10.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 | 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.505 |
| predicted_3B | 0.000 | -0.038 |
| predicted_AB | 10.000 | -0.398 |
| predicted_AVG | 0.300 | 0.048 |
| predicted_BB | 1.000 | 0.128 |
| predicted_H | 3.000 | 0.380 |
| predicted_HR | 1.000 | 0.050 |
| predicted_OBP | 0.364 | 0.054 |
| predicted_R | 2.000 | -0.188 |
| predicted_RBI | 1.000 | -0.538 |
| predicted_SLG | 0.600 | 0.018 |
| predicted_SO | 3.000 | 0.312 |
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 | -6.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.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 | 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 | 2 | - | 17.000 | 3.000 | 0.000 | 0.000 | 3.000 | 3.000 | 5.000 | 2.000 | 2.000 | 0.1765 | 0.2632 | 0.7059 | 0.1765 | 0.1765 | 0.1765 | 0.1177 | 0.1177 |
| last_10 | 0.20 | 3 | - | 35.000 | 5.000 | 2.000 | 0.000 | 3.000 | 3.000 | 8.000 | 7.000 | 7.000 | 0.1429 | 0.2857 | 0.4571 | 0.1429 | 0.0857 | 0.0857 | 0.2000 | 0.2000 |
| season | 0.60 | 47 | - | 921.000 | 247.000 | 50.000 | 4.000 | 83.000 | 135.000 | 184.000 | 71.000 | 263.000 | 0.2682 | 0.3267 | 0.6015 | 0.2682 | 0.0901 | 0.1466 | 0.0771 | 0.2856 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8480 |
| predicted_3B | 0.0630 |
| predicted_AB | 17.5160 |
| predicted_AVG | 0.2510 |
| predicted_BB | 1.5430 |
| predicted_H | 4.3970 |
| predicted_HBP | 0.1740 |
| predicted_HR | 1.7090 |
| predicted_OBP | 0.3173 |
| predicted_R | 3.6680 |
| predicted_RBI | 2.5590 |
| predicted_SLG | 0.5994 |
| predicted_SO | 4.5710 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.8480 | 0.5051 | model_form_blend |
| predicted_3B | 0.0190 | 0.0630 | 0.0384 | model_form_blend |
| predicted_AB | 4.7700 | 17.5160 | 10.3980 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2510 | 0.2398 | model_form_blend |
| predicted_BB | 0.3320 | 1.5430 | 0.8667 | model_form_blend |
| predicted_H | 1.1000 | 4.3970 | 2.5558 | model_form_blend |
| predicted_HBP | - | 0.1740 | 0.1740 | form_only |
| predicted_HR | 0.3100 | 1.7090 | 0.9277 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3173 | 0.3188 | model_form_blend |
| predicted_R | 0.8600 | 3.6680 | 2.0999 | model_form_blend |
| predicted_RBI | 0.6200 | 2.5590 | 1.4762 | model_form_blend |
| predicted_SLG | 0.5060 | 0.5994 | 0.5472 | model_form_blend |
| predicted_SO | 1.2290 | 4.5710 | 2.7046 | 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 | 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 | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 621439 |
| playerID | 621439 |
| playerName | Byron Buxton |
| pos | CF |
| started | True |
| startingPosition | DH |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 25.8 |
| sl_bb_percent | 7.0 |
| sl_woba | 0.38 |
| sl_xwoba | 0.333 |
| sl_xba | 0.231 |
| sl_xslg | 0.49 |
| sl_sweet_spot_percent | 32.9 |
| sl_barrel_batted_rate | 19.3 |
| sl_hard_hit_percent | 46.4 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 24.0 |
| sl_whiff_percent | 31.5 |
| sl_swing_percent | 53.1 |
| at_bat_number | 47.0 |
| ab_pitcher | 689818.0 |
| ab_pitcher_name | Sandlin, David |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 8.0 |
| ab_event | field_out |
| ab_event_description | Byron Buxton flies out to left fielder Sam Antonacci. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 97.0 |
| ab_launch_angle_last | 49.0 |
| ab_hit_distance_last | 278.0 |
| ab_estimated_ba_last | 0.003 |
| ab_estimated_woba_last | 0.004 |
| ab_estimated_slg_last | 0.008 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 8.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 89.15 |
| ab_release_spin_rate_avg | 2414.25 |
| ab_effective_speed_avg | 89.9 |
| ab_launch_speed_avg | 88.5 |
| ab_launch_angle_avg | 11.5 |
| ab_delta_run_exp_avg | -0.0612499999999999 |
| ab_delta_home_win_exp_avg | 0.00025 |
| ab_delta_pitcher_run_exp_avg | 0.0612499999999999 |
| ab_bat_speed_avg | 72.95 |
| ab_swing_length_avg | 8.15 |
| ab_launch_speed_max | 97.0 |
| ab_hit_distance_sc_max | 278.0 |
| ab_release_speed_max | 97.4 |
| ab_release_spin_rate_max | 2711.0 |
| ab_release_speed_min | 82.3 |
| ab_release_spin_rate_min | 2178.0 |
| ab_delta_run_exp_sum | -0.2449999999999999 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | 0.2449999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.239 | 0.000 | 0.000 | Hitting_2B | 0.238 | 0.000 | -0.238 | 0.000 |
| predicted_3B | 0.031 | 0.000 | 0.000 | Hitting_3B | 0.030 | 0.000 | -0.030 | 0.000 |
| predicted_AB | 3.626 | 3.000 | 8.000 | Hitting_AB | 3.604 | 3.000 | -0.604 | 0.000 |
| predicted_AVG | 0.231 | 0.333 | 0.250 | Hitting_AVG | 0.234 | 0.333 | 0.100 | 0.000 |
| predicted_BB | 0.356 | 1.000 | 1.000 | Hitting_BB | 0.354 | 0.000 | 0.646 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.049 | 0.000 | -0.049 | 0.000 |
| predicted_H | 0.320 | 1.000 | 2.000 | Hitting_H | 0.841 | 1.000 | 0.159 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.128 | 1.000 | -0.128 | -1.000 |
| predicted_OBP | 0.279 | 0.500 | 0.333 | Hitting_OBP | 0.323 | 0.333 | 0.177 | 0.167 |
| predicted_R | 0.472 | 0.000 | 1.000 | Hitting_R | 0.470 | 1.000 | -0.470 | -1.000 |
| predicted_RBI | 0.180 | 0.000 | 1.000 | Hitting_RBI | 0.409 | 1.000 | -0.409 | -1.000 |
| predicted_SLG | 0.408 | 0.333 | 0.250 | Hitting_SLG | 0.423 | 1.333 | -0.090 | -1.000 |
| predicted_SO | 0.926 | 0.000 | 2.000 | Hitting_SO | 0.921 | 0.000 | -0.921 | 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_H: 0.3200 -> 1.0000 (boost 0.6800, better) |
| Biggest Deboost | predicted_SO: 0.9260 -> 0.0000 (deboost -0.9260, 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.6260 -> 7.5902 (boost 3.9642, 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.2348 -> 0.2040 (deboost -0.0308, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 9 | 5 | 4 | 4 | 5 | predicted_H: 1.5486 -> 2.0000 (boost 0.4514, better) | predicted_2B: 0.4380 -> 0.0000 (deboost -0.4380, worse) | AB rounded to 8 (raw=7.59), rates preserved: AVG=0.204 HR/AB=0.044 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1562 -> 1.0000 (deboost -0.1562, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2771 -> 0.3330 (boost 0.0559, better) | predicted_SLG: 0.4377 -> 0.2500 (deboost -0.1877, 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 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.4377 (boost 0.1877, better) | predicted_OBP: 0.3330 -> 0.2771 (deboost -0.0559, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665019",
"player_name": "Kody Clemens",
"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.239,
"predicted_3B": 0.031,
"predicted_AB": 3.626,
"predicted_AVG": 0.231,
"predicted_BB": 0.356,
"predicted_H": 0.32,
"predicted_HR": 0.06,
"predicted_OBP": 0.279,
"predicted_R": 0.472,
"predicted_RBI": 0.18,
"predicted_SLG": 0.408,
"predicted_SO": 0.926
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.438,
"predicted_3B": 0.1653,
"predicted_AB": 7.5902,
"predicted_AVG": 0.2348,
"predicted_BB": 0.7624,
"predicted_H": 1.5107,
"predicted_HBP": 0.347,
"predicted_HR": 0.3273,
"predicted_OBP": 0.2998,
"predicted_R": 1.1098,
"predicted_RBI": 0.8716,
"predicted_SLG": 0.451,
"predicted_SO": 1.8298
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.239,
"after": 0.438,
"delta": 0.199,
"percent_delta": 0.8326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.031,
"after": 0.1653,
"delta": 0.1343,
"percent_delta": 4.3323,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.626,
"after": 7.5902,
"delta": 3.9642,
"percent_delta": 1.0933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2348,
"delta": 0.0038,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.7624,
"delta": 0.4064,
"percent_delta": 1.1416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 1.5107,
"delta": 1.1907,
"percent_delta": 3.7209,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.3273,
"delta": 0.2673,
"percent_delta": 4.455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.279,
"after": 0.2998,
"delta": 0.0208,
"percent_delta": 0.0746,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 1.1098,
"delta": 0.6378,
"percent_delta": 1.3513,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.18,
"after": 0.8716,
"delta": 0.6916,
"percent_delta": 3.8422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.451,
"delta": 0.043,
"percent_delta": 0.1054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 1.8298,
"delta": 0.9038,
"percent_delta": 0.976,
"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.626,
"after": 7.5902,
"delta": 3.9642,
"percent_delta": 1.0933,
"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": 3,
"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.438,
"predicted_3B": 0.1653,
"predicted_AB": 7.5902,
"predicted_AVG": 0.204,
"predicted_BB": 0.7672,
"predicted_H": 1.5486,
"predicted_HBP": 0.347,
"predicted_HR": 0.335,
"predicted_OBP": 0.2771,
"predicted_R": 1.1562,
"predicted_RBI": 0.908,
"predicted_SLG": 0.4377,
"predicted_SO": 1.8183
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.438,
"after": 0.438,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.1653,
"after": 0.1653,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.5902,
"after": 7.5902,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2348,
"after": 0.204,
"delta": -0.0308,
"percent_delta": -0.1312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7624,
"after": 0.7672,
"delta": 0.0048,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5107,
"after": 1.5486,
"delta": 0.0379,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.347,
"after": 0.347,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3273,
"after": 0.335,
"delta": 0.0077,
"percent_delta": 0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2998,
"after": 0.2771,
"delta": -0.0227,
"percent_delta": -0.0757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.1098,
"after": 1.1562,
"delta": 0.0464,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8716,
"after": 0.908,
"delta": 0.0364,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.451,
"after": 0.4377,
"delta": -0.0133,
"percent_delta": -0.0295,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8298,
"after": 1.8183,
"delta": -0.0115,
"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.2348,
"after": 0.204,
"delta": -0.0308,
"percent_delta": -0.1312,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.59), rates preserved: AVG=0.204 HR/AB=0.044",
"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.438,
"after": 0.0,
"delta": -0.438,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.1653,
"after": 0.0,
"delta": -0.1653,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 7.5902,
"after": 8.0,
"delta": 0.4098,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7672,
"after": 1.0,
"delta": 0.2328,
"percent_delta": 0.3034,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5486,
"after": 2.0,
"delta": 0.4514,
"percent_delta": 0.2915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.347,
"after": 0.0,
"delta": -0.347,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.335,
"after": 0.0,
"delta": -0.335,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.908,
"after": 1.0,
"delta": 0.092,
"percent_delta": 0.1013,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8183,
"after": 2.0,
"delta": 0.1817,
"percent_delta": 0.0999,
"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_H",
"before": 1.5486,
"after": 2.0,
"delta": 0.4514,
"percent_delta": 0.2915,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.438,
"after": 0.0,
"delta": -0.438,
"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": 1.1562,
"after": 1.0,
"delta": -0.1562,
"percent_delta": -0.1351,
"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.1562,
"after": 1.0,
"delta": -0.1562,
"percent_delta": -0.1351,
"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": 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.204,
"after": 0.25,
"delta": 0.046,
"percent_delta": 0.2255,
"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.2771,
"after": 0.333,
"delta": 0.0559,
"percent_delta": 0.2017,
"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.4377,
"after": 0.25,
"delta": -0.1877,
"percent_delta": -0.4288,
"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.2771,
"after": 0.333,
"delta": 0.0559,
"percent_delta": 0.2017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4377,
"after": 0.25,
"delta": -0.1877,
"percent_delta": -0.4288,
"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": 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": 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": 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.204,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2771,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4377,
"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.204,
"delta": -0.046,
"percent_delta": -0.1839,
"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.2771,
"delta": -0.0559,
"percent_delta": -0.1679,
"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.4377,
"delta": 0.1877,
"percent_delta": 0.7508,
"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.4377,
"delta": 0.1877,
"percent_delta": 0.7508,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2771,
"delta": -0.0559,
"percent_delta": -0.1679,
"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.031,
"after": 0.0,
"delta": -0.031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.626,
"after": 3.0,
"delta": -0.626,
"percent_delta": -0.1726,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.204,
"delta": -0.027,
"percent_delta": -0.1169,
"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.32,
"after": 1.0,
"delta": 0.68,
"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.279,
"after": 0.2771,
"delta": -0.0019,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.472,
"after": 0.0,
"delta": -0.472,
"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.408,
"after": 0.4377,
"delta": 0.0297,
"percent_delta": 0.0728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"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_H",
"before": 0.32,
"after": 1.0,
"delta": 0.68,
"percent_delta": 2.125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.926,
"after": 0.0,
"delta": -0.926,
"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.239 | - |
| predicted_3B | 0.031 | - |
| predicted_AB | 3.626 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.320 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.279 | - |
| predicted_R | 0.472 | - |
| predicted_RBI | 0.180 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.926 | - |
Final model 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.438 | 0.199 |
| predicted_3B | 0.165 | 0.134 |
| predicted_AB | 7.590 | 3.964 |
| predicted_AVG | 0.235 | 0.004 |
| predicted_BB | 0.762 | 0.406 |
| predicted_H | 1.511 | 1.191 |
| predicted_HBP | 0.347 | - |
| predicted_HR | 0.327 | 0.267 |
| predicted_OBP | 0.300 | 0.021 |
| predicted_R | 1.110 | 0.638 |
| predicted_RBI | 0.872 | 0.692 |
| predicted_SLG | 0.451 | 0.043 |
| predicted_SO | 1.830 | 0.904 |
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.438 | 0.000 |
| predicted_3B | 0.165 | 0.000 |
| predicted_AB | 7.590 | 0.000 |
| predicted_AVG | 0.204 | -0.031 |
| predicted_BB | 0.767 | 0.005 |
| predicted_H | 1.549 | 0.038 |
| predicted_HBP | 0.347 | 0.000 |
| predicted_HR | 0.335 | 0.008 |
| predicted_OBP | 0.277 | -0.023 |
| predicted_R | 1.156 | 0.046 |
| predicted_RBI | 0.908 | 0.036 |
| predicted_SLG | 0.438 | -0.013 |
| predicted_SO | 1.818 | -0.012 |
AB rounded to 8 (raw=7.59), rates preserved: AVG=0.204 HR/AB=0.044
| 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.438 |
| predicted_3B | 0.000 | -0.165 |
| predicted_AB | 8.000 | 0.410 |
| predicted_AVG | 0.250 | 0.046 |
| predicted_BB | 1.000 | 0.233 |
| predicted_H | 2.000 | 0.451 |
| predicted_HR | 0.000 | -0.335 |
| predicted_OBP | 0.333 | 0.056 |
| predicted_R | 1.000 | -0.156 |
| predicted_RBI | 1.000 | 0.092 |
| predicted_SLG | 0.250 | -0.188 |
| predicted_SO | 2.000 | 0.182 |
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 | 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 | 2 | - | 17.000 | 5.000 | 0.000 | 2.000 | 3.000 | 5.000 | 5.000 | 2.000 | 2.000 | 0.2941 | 0.3684 | 1.0588 | 0.2941 | 0.1765 | 0.2941 | 0.1177 | 0.1177 |
| last_10 | 0.20 | 3 | - | 37.000 | 8.000 | 0.000 | 5.000 | 3.000 | 8.000 | 8.000 | 5.000 | 7.000 | 0.2162 | 0.3095 | 0.7297 | 0.2162 | 0.0811 | 0.2162 | 0.1351 | 0.1892 |
| season | 0.60 | 43 | - | 591.000 | 138.000 | 39.000 | 5.000 | 21.000 | 67.000 | 77.000 | 58.000 | 151.000 | 0.2335 | 0.3229 | 0.4230 | 0.2335 | 0.0355 | 0.1134 | 0.0981 | 0.2555 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6940 |
| predicted_3B | 0.3380 |
| predicted_AB | 12.6880 |
| predicted_AVG | 0.2397 |
| predicted_BB | 1.2850 |
| predicted_H | 3.0420 |
| predicted_HBP | 0.3470 |
| predicted_HR | 0.6710 |
| predicted_OBP | 0.3266 |
| predicted_R | 1.9300 |
| predicted_RBI | 1.7610 |
| predicted_SLG | 0.5063 |
| predicted_SO | 2.9920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2390 | 0.6940 | 0.4380 | model_form_blend |
| predicted_3B | 0.0310 | 0.3380 | 0.1653 | model_form_blend |
| predicted_AB | 3.6260 | 12.6880 | 7.5902 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2397 | 0.2348 | model_form_blend |
| predicted_BB | 0.3560 | 1.2850 | 0.7624 | model_form_blend |
| predicted_H | 0.3200 | 3.0420 | 1.5107 | model_form_blend |
| predicted_HBP | - | 0.3470 | 0.3470 | form_only |
| predicted_HR | 0.0600 | 0.6710 | 0.3273 | model_form_blend |
| predicted_OBP | 0.2790 | 0.3266 | 0.2998 | model_form_blend |
| predicted_R | 0.4720 | 1.9300 | 1.1098 | model_form_blend |
| predicted_RBI | 0.1800 | 1.7610 | 0.8716 | model_form_blend |
| predicted_SLG | 0.4080 | 0.5063 | 0.4510 | model_form_blend |
| predicted_SO | 0.9260 | 2.9920 | 1.8298 | 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 | 163 |
| 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.234 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 1 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| 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 | CF-RF |
| gameID | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 665019 |
| playerID | 665019 |
| playerName | Kody Clemens |
| pos | 1B |
| started | True |
| startingPosition | CF |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.321 |
| sl_xwoba | 0.323 |
| sl_xba | 0.234 |
| sl_xslg | 0.41 |
| sl_sweet_spot_percent | 33.6 |
| sl_barrel_batted_rate | 13.1 |
| sl_hard_hit_percent | 41.1 |
| sl_exit_velocity_avg | 91.9 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 24.7 |
| sl_swing_percent | 47.6 |
| at_bat_number | 64.0 |
| ab_pitcher | 685126.0 |
| ab_pitcher_name | Eisert, Brandon |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.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 | 14.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 14.0 |
| ab_event | home_run |
| ab_event_description | Kody Clemens homers (5) on a fly ball to right center field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 102.6 |
| ab_launch_angle_last | 28.0 |
| ab_hit_distance_last | 405.0 |
| ab_estimated_ba_last | 0.734 |
| ab_estimated_woba_last | 1.423 |
| ab_estimated_slg_last | 2.744 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 14.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 14.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 85.67999999999999 |
| ab_release_spin_rate_avg | 2065.2 |
| ab_effective_speed_avg | 87.06 |
| ab_launch_speed_avg | 96.0 |
| ab_launch_angle_avg | 1.0 |
| ab_delta_run_exp_avg | 0.2228 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.2228 |
| ab_bat_speed_avg | 70.75 |
| ab_swing_length_avg | 7.45 |
| ab_launch_speed_max | 102.6 |
| ab_hit_distance_sc_max | 405.0 |
| ab_release_speed_max | 89.0 |
| ab_release_spin_rate_max | 2199.0 |
| ab_release_speed_min | 83.2 |
| ab_release_spin_rate_min | 1812.0 |
| ab_delta_run_exp_sum | 1.114 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -1.114 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.312 | 0.000 | 0.000 | Hitting_2B | 0.312 | 0.000 | -0.312 | 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 | 5.000 | Hitting_AB | 3.500 | 1.000 | 0.500 | 3.000 |
| predicted_AVG | 0.288 | 0.000 | 0.200 | Hitting_AVG | 0.518 | 0.000 | -0.518 | 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.250 | 0.000 | -0.250 | 0.000 |
| predicted_H | 0.310 | 0.000 | 1.000 | Hitting_H | 1.812 | 0.000 | -1.812 | 0.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.333 | 0.000 | 0.200 | Hitting_OBP | 0.518 | 0.000 | -0.518 | 0.000 |
| predicted_R | 0.312 | 0.000 | 0.000 | Hitting_R | 0.312 | 0.000 | -0.312 | 0.000 |
| predicted_RBI | 0.150 | 0.000 | 0.000 | Hitting_RBI | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.431 | 0.000 | 0.200 | Hitting_SLG | 0.607 | 0.000 | -0.607 | 0.000 |
| predicted_SO | 0.500 | 1.000 | 1.000 | Hitting_SO | 0.500 | 0.000 | 0.500 | 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_AB: 3.5000 -> 4.0000 (boost 0.5000, better) |
| Biggest Deboost | predicted_2B: 0.3120 -> 0.0000 (deboost -0.3120, 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.5000 -> 4.6598 (boost 1.1598, 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.3671 -> 0.2685 (deboost -0.0986, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 2 | 5 | 1 | 6 | predicted_AB: 4.6598 -> 5.0000 (boost 0.3402, better) | predicted_2B: 0.3645 -> 0.0000 (deboost -0.3645, worse) | AB rounded to 5 (raw=4.66), rates preserved: AVG=0.258 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4472 -> 0.0000 (deboost -0.4472, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3734 -> 0.2000 (deboost -0.1734, 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: 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.3734 (boost 0.1734, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "606115",
"player_name": "Orlando Arcia",
"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.312,
"predicted_3B": 0.0,
"predicted_AB": 3.5,
"predicted_AVG": 0.288,
"predicted_BB": 0.0,
"predicted_H": 0.31,
"predicted_HR": 0.04,
"predicted_OBP": 0.333,
"predicted_R": 0.312,
"predicted_RBI": 0.15,
"predicted_SLG": 0.431,
"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.3645,
"predicted_3B": 0.0031,
"predicted_AB": 4.6598,
"predicted_AVG": 0.3301,
"predicted_BB": 0.0644,
"predicted_H": 1.1744,
"predicted_HBP": 0.022,
"predicted_HR": 0.0539,
"predicted_OBP": 0.3671,
"predicted_R": 0.4293,
"predicted_RBI": 0.2937,
"predicted_SLG": 0.4601,
"predicted_SO": 0.8306
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.312,
"after": 0.3645,
"delta": 0.0525,
"percent_delta": 0.1683,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0031,
"delta": 0.0031,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.5,
"after": 4.6598,
"delta": 1.1598,
"percent_delta": 0.3314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.288,
"after": 0.3301,
"delta": 0.0421,
"percent_delta": 0.1462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0644,
"delta": 0.0644,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.1744,
"delta": 0.8644,
"percent_delta": 2.7884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0539,
"delta": 0.0139,
"percent_delta": 0.3475,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3671,
"delta": 0.0341,
"percent_delta": 0.1024,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.4293,
"delta": 0.1173,
"percent_delta": 0.376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.15,
"after": 0.2937,
"delta": 0.1437,
"percent_delta": 0.958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.431,
"after": 0.4601,
"delta": 0.0291,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 0.8306,
"delta": 0.3306,
"percent_delta": 0.6612,
"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.5,
"after": 4.6598,
"delta": 1.1598,
"percent_delta": 0.3314,
"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": 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.3645,
"predicted_3B": 0.0031,
"predicted_AB": 4.6598,
"predicted_AVG": 0.2584,
"predicted_BB": 0.0648,
"predicted_H": 1.2039,
"predicted_HBP": 0.022,
"predicted_HR": 0.0552,
"predicted_OBP": 0.2685,
"predicted_R": 0.4472,
"predicted_RBI": 0.306,
"predicted_SLG": 0.3734,
"predicted_SO": 0.8254
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3645,
"after": 0.3645,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0031,
"after": 0.0031,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6598,
"after": 4.6598,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3301,
"after": 0.2584,
"delta": -0.0717,
"percent_delta": -0.2172,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0644,
"after": 0.0648,
"delta": 0.0004,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1744,
"after": 1.2039,
"delta": 0.0295,
"percent_delta": 0.0251,
"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.0539,
"after": 0.0552,
"delta": 0.0013,
"percent_delta": 0.0241,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3671,
"after": 0.2685,
"delta": -0.0986,
"percent_delta": -0.2686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4293,
"after": 0.4472,
"delta": 0.0179,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2937,
"after": 0.306,
"delta": 0.0123,
"percent_delta": 0.0419,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4601,
"after": 0.3734,
"delta": -0.0867,
"percent_delta": -0.1884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.8306,
"after": 0.8254,
"delta": -0.0052,
"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_OBP",
"before": 0.3671,
"after": 0.2685,
"delta": -0.0986,
"percent_delta": -0.2686,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.66), rates preserved: AVG=0.258 HR/AB=0.012",
"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.3645,
"after": 0.0,
"delta": -0.3645,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0031,
"after": 0.0,
"delta": -0.0031,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6598,
"after": 5.0,
"delta": 0.3402,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0648,
"after": 0.0,
"delta": -0.0648,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2039,
"after": 1.0,
"delta": -0.2039,
"percent_delta": -0.1694,
"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.0552,
"after": 0.0,
"delta": -0.0552,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0.8254,
"after": 1.0,
"delta": 0.1746,
"percent_delta": 0.2115,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 2,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.6598,
"after": 5.0,
"delta": 0.3402,
"percent_delta": 0.073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3645,
"after": 0.0,
"delta": -0.3645,
"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.4472,
"after": 0.0,
"delta": -0.4472,
"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.4472,
"after": 0.0,
"delta": -0.4472,
"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.2584,
"after": 0.2,
"delta": -0.0584,
"percent_delta": -0.226,
"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.2685,
"after": 0.2,
"delta": -0.0685,
"percent_delta": -0.2551,
"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.3734,
"after": 0.2,
"delta": -0.1734,
"percent_delta": -0.4644,
"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.3734,
"after": 0.2,
"delta": -0.1734,
"percent_delta": -0.4644,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"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.2584,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2685,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3734,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2584,
"delta": 0.0584,
"percent_delta": 0.2918,
"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.2685,
"delta": 0.0685,
"percent_delta": 0.3426,
"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.3734,
"delta": 0.1734,
"percent_delta": 0.8671,
"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.3734,
"delta": 0.1734,
"percent_delta": 0.8671,
"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.312,
"after": 0.0,
"delta": -0.312,
"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.288,
"after": 0.2584,
"delta": -0.0296,
"percent_delta": -0.1028,
"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.31,
"after": 0.0,
"delta": -0.31,
"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.333,
"after": 0.2685,
"delta": -0.0645,
"percent_delta": -0.1937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"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.431,
"after": 0.3734,
"delta": -0.0576,
"percent_delta": -0.1336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.5,
"after": 1.0,
"delta": 0.5,
"percent_delta": 1.0,
"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_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_2B",
"before": 0.312,
"after": 0.0,
"delta": -0.312,
"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.312 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.500 | - |
| predicted_AVG | 0.288 | - |
| predicted_BB | 0.000 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.333 | - |
| predicted_R | 0.312 | - |
| predicted_RBI | 0.150 | - |
| predicted_SLG | 0.431 | - |
| 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.364 | 0.052 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.660 | 1.160 |
| predicted_AVG | 0.330 | 0.042 |
| predicted_BB | 0.064 | 0.064 |
| predicted_H | 1.174 | 0.864 |
| predicted_HBP | 0.022 | - |
| predicted_HR | 0.054 | 0.014 |
| predicted_OBP | 0.367 | 0.034 |
| predicted_R | 0.429 | 0.117 |
| predicted_RBI | 0.294 | 0.144 |
| predicted_SLG | 0.460 | 0.029 |
| predicted_SO | 0.831 | 0.331 |
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.364 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.660 | 0.000 |
| predicted_AVG | 0.258 | -0.072 |
| predicted_BB | 0.065 | 0.000 |
| predicted_H | 1.204 | 0.029 |
| predicted_HBP | 0.022 | 0.000 |
| predicted_HR | 0.055 | 0.001 |
| predicted_OBP | 0.269 | -0.099 |
| predicted_R | 0.447 | 0.018 |
| predicted_RBI | 0.306 | 0.012 |
| predicted_SLG | 0.373 | -0.087 |
| predicted_SO | 0.825 | -0.005 |
AB rounded to 5 (raw=4.66), rates preserved: AVG=0.258 HR/AB=0.012
| 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.364 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 5.000 | 0.340 |
| predicted_AVG | 0.200 | -0.058 |
| predicted_BB | 0.000 | -0.065 |
| predicted_H | 1.000 | -0.204 |
| predicted_HR | 0.000 | -0.055 |
| predicted_OBP | 0.200 | -0.069 |
| predicted_R | 0.000 | -0.447 |
| predicted_RBI | 0.000 | -0.306 |
| predicted_SLG | 0.200 | -0.173 |
| predicted_SO | 1.000 | 0.175 |
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 | 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 | - | 11.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 0.3636 | 0.3636 | 0.3636 | 0.3636 | 0.0000 | 0.0000 | 0.0000 | 0.5454 |
| last_10 | 0.20 | 4 | - | 36.000 | 19.000 | 5.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 6.000 | 0.5278 | 0.5278 | 0.6667 | 0.5278 | 0.0000 | 0.0000 | 0.0000 | 0.1667 |
| season | 0.60 | 6 | - | 56.000 | 29.000 | 5.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.000 | 8.000 | 0.5179 | 0.5179 | 0.6071 | 0.5179 | 0.0000 | 0.0714 | 0.0000 | 0.1429 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4630 |
| predicted_3B | 0.0090 |
| predicted_AB | 6.8330 |
| predicted_AVG | 0.4089 |
| predicted_BB | 0.1850 |
| predicted_H | 2.7940 |
| predicted_HBP | 0.0220 |
| predicted_HR | 0.0800 |
| predicted_OBP | 0.4311 |
| predicted_R | 0.6490 |
| predicted_RBI | 0.5630 |
| predicted_SLG | 0.5145 |
| predicted_SO | 1.4500 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3120 | 0.4630 | 0.3645 | model_form_blend |
| predicted_3B | 0.0000 | 0.0090 | 0.0031 | model_form_blend |
| predicted_AB | 3.5000 | 6.8330 | 4.6598 | model_form_blend |
| predicted_AVG | 0.2880 | 0.4089 | 0.3301 | model_form_blend |
| predicted_BB | 0.0000 | 0.1850 | 0.0644 | model_form_blend |
| predicted_H | 0.3100 | 2.7940 | 1.1744 | model_form_blend |
| predicted_HBP | - | 0.0220 | 0.0220 | form_only |
| predicted_HR | 0.0400 | 0.0800 | 0.0539 | model_form_blend |
| predicted_OBP | 0.3330 | 0.4311 | 0.3671 | model_form_blend |
| predicted_R | 0.3120 | 0.6490 | 0.4293 | model_form_blend |
| predicted_RBI | 0.1500 | 0.5630 | 0.2937 | model_form_blend |
| predicted_SLG | 0.4310 | 0.5145 | 0.4601 | model_form_blend |
| predicted_SO | 0.5000 | 1.4500 | 0.8306 | 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 | 16 |
| Season rows before report date | 16 |
| Report year | 2026 |
| Profile rows used | 16 |
| 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.518 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Pitching_BB | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 5 |
| Pitching_ER | 1 |
| Pitching_ERA | 9.00 |
| 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 | 14 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 606115 |
| playerID | 606115 |
| playerName | Orlando Arcia |
| pos | SS |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 20.0 |
| sl_bb_percent | 0.0 |
| sl_woba | 0.504 |
| sl_xwoba | 0.273 |
| sl_xba | 0.296 |
| sl_xslg | 0.331 |
| sl_sweet_spot_percent | 41.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 16.7 |
| sl_exit_velocity_avg | 84.5 |
| sl_launch_angle_avg | 6.0 |
| sl_whiff_percent | 21.2 |
| sl_swing_percent | 55.0 |
| at_bat_number | 74.0 |
| ab_pitcher | 670950.0 |
| ab_pitcher_name | Richards, Trevor |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| 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 | 15.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 15.0 |
| ab_event | field_out |
| ab_event_description | Orlando Arcia flies out sharply to left fielder Sam Antonacci. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 100.6 |
| ab_launch_angle_last | 48.0 |
| ab_hit_distance_last | 314.0 |
| ab_estimated_ba_last | 0.014 |
| ab_estimated_woba_last | 0.018 |
| ab_estimated_slg_last | 0.033 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 15.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 15.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 91.4 |
| ab_release_spin_rate_avg | 2232.0 |
| ab_effective_speed_avg | 91.9 |
| ab_launch_speed_avg | 100.6 |
| ab_launch_angle_avg | 48.0 |
| ab_delta_run_exp_avg | -0.256 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.256 |
| ab_bat_speed_avg | 78.1 |
| ab_swing_length_avg | 8.2 |
| ab_launch_speed_max | 100.6 |
| ab_hit_distance_sc_max | 314.0 |
| ab_release_speed_max | 91.4 |
| ab_release_spin_rate_max | 2232.0 |
| ab_release_speed_min | 91.4 |
| ab_release_spin_rate_min | 2232.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.156 | 1.000 | 0.000 | Hitting_2B | 0.156 | 0.000 | 0.844 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.810 | 3.000 | 8.000 | Hitting_AB | 3.788 | 3.000 | -0.788 | 0.000 |
| predicted_AVG | 0.217 | 0.667 | 0.250 | Hitting_AVG | 0.219 | 0.000 | 0.447 | 0.667 |
| predicted_BB | 0.340 | 1.000 | 1.000 | Hitting_BB | 0.340 | 0.000 | 0.660 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.830 | 2.000 | 2.000 | Hitting_H | 0.830 | 0.000 | 1.170 | 2.000 |
| predicted_HR | 0.120 | 0.000 | 0.000 | Hitting_HR | 0.099 | 0.000 | -0.099 | 0.000 |
| predicted_OBP | 0.276 | 0.750 | 0.333 | Hitting_OBP | 0.285 | 0.000 | 0.465 | 0.750 |
| predicted_R | 0.505 | 0.000 | 1.000 | Hitting_R | 0.505 | 0.000 | -0.505 | 0.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.590 | 0.000 | -0.590 | 0.000 |
| predicted_SLG | 0.344 | 1.000 | 0.250 | Hitting_SLG | 0.339 | 0.000 | 0.661 | 1.000 |
| predicted_SO | 0.953 | 0.000 | 2.000 | Hitting_SO | 0.953 | 1.000 | -0.953 | -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_H: 0.8300 -> 2.0000 (boost 1.1700, better) |
| Biggest Deboost | predicted_SO: 0.9530 -> 0.0000 (deboost -0.9530, 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.8100 -> 7.9455 (boost 4.1355, better) | predicted_SLG: 0.3440 -> 0.3136 (deboost -0.0304, 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.3136 -> 0.3025 (deboost -0.0111, 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.5407 -> 2.0000 (boost 0.4593, better) | predicted_2B: 0.2789 -> 0.0000 (deboost -0.2789, worse) | AB rounded to 8 (raw=7.95), rates preserved: AVG=0.194 HR/AB=0.024 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9358 -> 1.0000 (boost 0.0642, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.2527 -> 0.3330 (boost 0.0803, better) | predicted_SLG: 0.3025 -> 0.2500 (deboost -0.0525, 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: 8.0000 -> 3.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.2500 -> 0.3025 (boost 0.0525, better) | predicted_OBP: 0.3330 -> 0.2527 (deboost -0.0803, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "605137",
"player_name": "Josh Bell",
"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.156,
"predicted_3B": 0.0,
"predicted_AB": 3.81,
"predicted_AVG": 0.217,
"predicted_BB": 0.34,
"predicted_H": 0.83,
"predicted_HR": 0.12,
"predicted_OBP": 0.276,
"predicted_R": 0.505,
"predicted_RBI": 0.48,
"predicted_SLG": 0.344,
"predicted_SO": 0.953
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2789,
"predicted_3B": 0.0009,
"predicted_AB": 7.9455,
"predicted_AVG": 0.2001,
"predicted_BB": 0.621,
"predicted_H": 1.503,
"predicted_HBP": 0.067,
"predicted_HR": 0.1896,
"predicted_OBP": 0.2573,
"predicted_R": 0.8983,
"predicted_RBI": 0.9848,
"predicted_SLG": 0.3136,
"predicted_SO": 1.9903
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.156,
"after": 0.2789,
"delta": 0.1229,
"percent_delta": 0.7878,
"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.81,
"after": 7.9455,
"delta": 4.1355,
"percent_delta": 1.0854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.2001,
"delta": -0.0169,
"percent_delta": -0.0779,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.34,
"after": 0.621,
"delta": 0.281,
"percent_delta": 0.8265,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 1.503,
"delta": 0.673,
"percent_delta": 0.8108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.12,
"after": 0.1896,
"delta": 0.0696,
"percent_delta": 0.58,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.276,
"after": 0.2573,
"delta": -0.0187,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.8983,
"delta": 0.3933,
"percent_delta": 0.7788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 0.9848,
"delta": 0.5048,
"percent_delta": 1.0517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3136,
"delta": -0.0304,
"percent_delta": -0.0884,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.953,
"after": 1.9903,
"delta": 1.0373,
"percent_delta": 1.0885,
"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.81,
"after": 7.9455,
"delta": 4.1355,
"percent_delta": 1.0854,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.344,
"after": 0.3136,
"delta": -0.0304,
"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": 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.2789,
"predicted_3B": 0.0009,
"predicted_AB": 7.9455,
"predicted_AVG": 0.1939,
"predicted_BB": 0.6249,
"predicted_H": 1.5407,
"predicted_HBP": 0.067,
"predicted_HR": 0.1941,
"predicted_OBP": 0.2527,
"predicted_R": 0.9358,
"predicted_RBI": 1.026,
"predicted_SLG": 0.3025,
"predicted_SO": 1.9778
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2789,
"after": 0.2789,
"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.9455,
"after": 7.9455,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2001,
"after": 0.1939,
"delta": -0.0062,
"percent_delta": -0.031,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.621,
"after": 0.6249,
"delta": 0.0039,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.503,
"after": 1.5407,
"delta": 0.0377,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.067,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1896,
"after": 0.1941,
"delta": 0.0045,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2573,
"after": 0.2527,
"delta": -0.0046,
"percent_delta": -0.0179,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.8983,
"after": 0.9358,
"delta": 0.0375,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9848,
"after": 1.026,
"delta": 0.0412,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3136,
"after": 0.3025,
"delta": -0.0111,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9903,
"after": 1.9778,
"delta": -0.0125,
"percent_delta": -0.0063,
"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.3136,
"after": 0.3025,
"delta": -0.0111,
"percent_delta": -0.0354,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=7.95), 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.2789,
"after": 0.0,
"delta": -0.2789,
"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.9455,
"after": 8.0,
"delta": 0.0545,
"percent_delta": 0.0069,
"direction": "boost",
"projection_effect": "better",
"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.5407,
"after": 2.0,
"delta": 0.4593,
"percent_delta": 0.2981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.067,
"after": 0.0,
"delta": -0.067,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1941,
"after": 0.0,
"delta": -0.1941,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.026,
"after": 1.0,
"delta": -0.026,
"percent_delta": -0.0253,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9778,
"after": 2.0,
"delta": 0.0222,
"percent_delta": 0.0112,
"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.5407,
"after": 2.0,
"delta": 0.4593,
"percent_delta": 0.2981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2789,
"after": 0.0,
"delta": -0.2789,
"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.9358,
"after": 1.0,
"delta": 0.0642,
"percent_delta": 0.0686,
"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.9358,
"after": 1.0,
"delta": 0.0642,
"percent_delta": 0.0686,
"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.1939,
"after": 0.25,
"delta": 0.0561,
"percent_delta": 0.2893,
"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.2527,
"after": 0.333,
"delta": 0.0803,
"percent_delta": 0.3178,
"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.3025,
"after": 0.25,
"delta": -0.0525,
"percent_delta": -0.1736,
"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.2527,
"after": 0.333,
"delta": 0.0803,
"percent_delta": 0.3178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3025,
"after": 0.25,
"delta": -0.0525,
"percent_delta": -0.1736,
"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": 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": 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": 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": 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": 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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.1939,
"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.2527,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3025,
"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.25,
"after": 0.1939,
"delta": -0.0561,
"percent_delta": -0.2244,
"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.333,
"after": 0.2527,
"delta": -0.0803,
"percent_delta": -0.2412,
"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.3025,
"delta": 0.0525,
"percent_delta": 0.2101,
"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.3025,
"delta": 0.0525,
"percent_delta": 0.2101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2527,
"delta": -0.0803,
"percent_delta": -0.2412,
"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.156,
"after": 1.0,
"delta": 0.844,
"percent_delta": 5.4103,
"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.81,
"after": 3.0,
"delta": -0.81,
"percent_delta": -0.2126,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.217,
"after": 0.1939,
"delta": -0.0231,
"percent_delta": -0.1065,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.34,
"after": 1.0,
"delta": 0.66,
"percent_delta": 1.9412,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.83,
"after": 2.0,
"delta": 1.17,
"percent_delta": 1.4096,
"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.276,
"after": 0.2527,
"delta": -0.0233,
"percent_delta": -0.0844,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.505,
"after": 0.0,
"delta": -0.505,
"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.344,
"after": 0.3025,
"delta": -0.0415,
"percent_delta": -0.1206,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.953,
"after": 0.0,
"delta": -0.953,
"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_H",
"before": 0.83,
"after": 2.0,
"delta": 1.17,
"percent_delta": 1.4096,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.953,
"after": 0.0,
"delta": -0.953,
"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.156 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.217 | - |
| predicted_BB | 0.340 | - |
| predicted_H | 0.830 | - |
| predicted_HR | 0.120 | - |
| predicted_OBP | 0.276 | - |
| predicted_R | 0.505 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.344 | - |
| predicted_SO | 0.953 | - |
Final model 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.279 | 0.123 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.946 | 4.136 |
| predicted_AVG | 0.200 | -0.017 |
| predicted_BB | 0.621 | 0.281 |
| predicted_H | 1.503 | 0.673 |
| predicted_HBP | 0.067 | - |
| predicted_HR | 0.190 | 0.070 |
| predicted_OBP | 0.257 | -0.019 |
| predicted_R | 0.898 | 0.393 |
| predicted_RBI | 0.985 | 0.505 |
| predicted_SLG | 0.314 | -0.030 |
| predicted_SO | 1.990 | 1.037 |
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.279 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 7.946 | 0.000 |
| predicted_AVG | 0.194 | -0.006 |
| predicted_BB | 0.625 | 0.004 |
| predicted_H | 1.541 | 0.038 |
| predicted_HBP | 0.067 | 0.000 |
| predicted_HR | 0.194 | 0.005 |
| predicted_OBP | 0.253 | -0.005 |
| predicted_R | 0.936 | 0.037 |
| predicted_RBI | 1.026 | 0.041 |
| predicted_SLG | 0.302 | -0.011 |
| predicted_SO | 1.978 | -0.012 |
AB rounded to 8 (raw=7.95), 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 | - |
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.279 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | 0.054 |
| predicted_AVG | 0.250 | 0.056 |
| predicted_BB | 1.000 | 0.375 |
| predicted_H | 2.000 | 0.459 |
| predicted_HR | 0.000 | -0.194 |
| predicted_OBP | 0.333 | 0.080 |
| predicted_R | 1.000 | 0.064 |
| predicted_RBI | 1.000 | -0.026 |
| predicted_SLG | 0.250 | -0.052 |
| predicted_SO | 2.000 | 0.022 |
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 | -5.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 | 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 | 2 | - | 13.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.2308 |
| last_10 | 0.20 | 4 | - | 33.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 9.000 | 0.0303 | 0.0588 | 0.0303 | 0.0303 | 0.0000 | 0.0000 | 0.0303 | 0.2727 |
| season | 0.60 | 53 | - | 803.000 | 176.000 | 33.000 | 0.000 | 21.000 | 125.000 | 107.000 | 72.000 | 202.000 | 0.2192 | 0.2846 | 0.3387 | 0.2192 | 0.0261 | 0.1557 | 0.0897 | 0.2516 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4350 |
| predicted_3B | 0.0020 |
| predicted_AB | 13.1990 |
| predicted_AVG | 0.1786 |
| predicted_BB | 0.9780 |
| predicted_H | 2.3580 |
| predicted_HBP | 0.0670 |
| predicted_HR | 0.2780 |
| predicted_OBP | 0.2336 |
| predicted_R | 1.3980 |
| predicted_RBI | 1.6260 |
| predicted_SLG | 0.2750 |
| predicted_SO | 3.3080 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1560 | 0.4350 | 0.2789 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8100 | 13.1990 | 7.9455 | model_form_blend |
| predicted_AVG | 0.2170 | 0.1786 | 0.2001 | model_form_blend |
| predicted_BB | 0.3400 | 0.9780 | 0.6210 | model_form_blend |
| predicted_H | 0.8300 | 2.3580 | 1.5030 | model_form_blend |
| predicted_HBP | - | 0.0670 | 0.0670 | form_only |
| predicted_HR | 0.1200 | 0.2780 | 0.1896 | model_form_blend |
| predicted_OBP | 0.2760 | 0.2336 | 0.2573 | model_form_blend |
| predicted_R | 0.5050 | 1.3980 | 0.8983 | model_form_blend |
| predicted_RBI | 0.4800 | 1.6260 | 0.9848 | model_form_blend |
| predicted_SLG | 0.3440 | 0.2750 | 0.3136 | model_form_blend |
| predicted_SO | 0.9530 | 3.3080 | 1.9903 | 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 | 212 |
| Season rows before report date | 212 |
| Report year | 2026 |
| Profile rows used | 212 |
| 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 | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 1 |
| SO | 0 |
| 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 | 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 | 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 605137 |
| playerID | 605137 |
| playerName | Josh Bell |
| pos | DH |
| started | True |
| startingPosition | 1B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 22.4 |
| sl_bb_percent | 8.1 |
| sl_woba | 0.279 |
| sl_xwoba | 0.3 |
| sl_xba | 0.227 |
| sl_xslg | 0.396 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 9.7 |
| sl_hard_hit_percent | 42.1 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 14.8 |
| sl_whiff_percent | 26.2 |
| sl_swing_percent | 50.5 |
| at_bat_number | 54.0 |
| ab_pitcher | 685126.0 |
| ab_pitcher_name | Eisert, Brandon |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 9.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 9.0 |
| ab_event | field_out |
| ab_event_description | Josh Bell flies out to center fielder Tristan Peters. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 85.4 |
| ab_launch_angle_last | 41.0 |
| ab_hit_distance_last | 283.0 |
| ab_estimated_ba_last | 0.017 |
| ab_estimated_woba_last | 0.025 |
| ab_estimated_slg_last | 0.04 |
| 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 | 9.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 1.0 |
| ab_fld_score_end | 9.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 87.075 |
| ab_release_spin_rate_avg | 1692.5 |
| ab_effective_speed_avg | 88.775 |
| ab_launch_speed_avg | 80.45 |
| ab_launch_angle_avg | 5.5 |
| ab_delta_run_exp_avg | -0.061 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.061 |
| ab_bat_speed_avg | 66.23333333333333 |
| ab_swing_length_avg | 7.466666666666668 |
| ab_launch_speed_max | 85.4 |
| ab_hit_distance_sc_max | 283.0 |
| ab_release_speed_max | 89.2 |
| ab_release_spin_rate_max | 2066.0 |
| ab_release_speed_min | 85.0 |
| ab_release_spin_rate_min | 1267.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.028 | 0.000 | 0.000 | Hitting_2B | 0.027 | 0.000 | -0.027 | 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 | 7.000 | Hitting_AB | 3.336 | 4.000 | 0.664 | 0.000 |
| predicted_AVG | 0.220 | 0.000 | 0.143 | Hitting_AVG | 0.179 | 0.000 | -0.179 | 0.000 |
| predicted_BB | 0.352 | 0.000 | 1.000 | Hitting_BB | 0.356 | 0.000 | -0.356 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.670 | 0.000 | 1.000 | Hitting_H | 0.596 | 0.000 | -0.596 | 0.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.273 | 0.000 | 0.250 | Hitting_OBP | 0.282 | 0.000 | -0.282 | 0.000 |
| predicted_R | 0.193 | 0.000 | 0.000 | Hitting_R | 0.192 | 0.000 | -0.192 | 0.000 |
| predicted_RBI | 0.420 | 0.000 | 1.000 | Hitting_RBI | 0.466 | 0.000 | -0.466 | 0.000 |
| predicted_SLG | 0.318 | 0.000 | 0.143 | Hitting_SLG | 0.218 | 0.000 | -0.218 | 0.000 |
| predicted_SO | 0.814 | 2.000 | 2.000 | Hitting_SO | 0.808 | 2.000 | 1.192 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.8140 -> 2.0000 (boost 1.1860, worse) |
| Biggest Deboost | predicted_H: 0.6700 -> 0.0000 (deboost -0.6700, 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.3590 -> 6.9696 (boost 3.6106, better) | predicted_SLG: 0.3180 -> 0.2632 (deboost -0.0548, 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.2632 -> 0.2261 (deboost -0.0371, 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.6797 -> 1.0000 (boost 0.3203, better) | predicted_HBP: 0.5360 -> 0.0000 (deboost -0.5360, worse) | AB rounded to 7 (raw=6.97), rates preserved: AVG=0.170 HR/AB=0.016 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3868 -> 0.0000 (deboost -0.3868, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2441 -> 0.2500 (boost 0.0059, better) | predicted_SLG: 0.2261 -> 0.1430 (deboost -0.0831, 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 | 2 | 1 | 2 | 1 | predicted_SLG: 0.1430 -> 0.2261 (boost 0.0831, better) | predicted_OBP: 0.2500 -> 0.2441 (deboost -0.0059, worse) | 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.028,
"predicted_3B": 0.0,
"predicted_AB": 3.359,
"predicted_AVG": 0.22,
"predicted_BB": 0.352,
"predicted_H": 0.67,
"predicted_HR": 0.1,
"predicted_OBP": 0.273,
"predicted_R": 0.193,
"predicted_RBI": 0.42,
"predicted_SLG": 0.318,
"predicted_SO": 0.814
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0607,
"predicted_3B": 0.0009,
"predicted_AB": 6.9696,
"predicted_AVG": 0.1911,
"predicted_BB": 0.6754,
"predicted_H": 1.1582,
"predicted_HBP": 0.536,
"predicted_HR": 0.1061,
"predicted_OBP": 0.2603,
"predicted_R": 0.3713,
"predicted_RBI": 0.8311,
"predicted_SLG": 0.2632,
"predicted_SO": 1.8715
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.028,
"after": 0.0607,
"delta": 0.0327,
"percent_delta": 1.1679,
"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.359,
"after": 6.9696,
"delta": 3.6106,
"percent_delta": 1.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.22,
"after": 0.1911,
"delta": -0.0289,
"percent_delta": -0.1314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.6754,
"delta": 0.3234,
"percent_delta": 0.9188,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.1582,
"delta": 0.4882,
"percent_delta": 0.7287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1061,
"delta": 0.0061,
"percent_delta": 0.061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2603,
"delta": -0.0127,
"percent_delta": -0.0465,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.193,
"after": 0.3713,
"delta": 0.1783,
"percent_delta": 0.9238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.8311,
"delta": 0.4111,
"percent_delta": 0.9788,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.2632,
"delta": -0.0548,
"percent_delta": -0.1723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.814,
"after": 1.8715,
"delta": 1.0575,
"percent_delta": 1.2991,
"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.359,
"after": 6.9696,
"delta": 3.6106,
"percent_delta": 1.0749,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.318,
"after": 0.2632,
"delta": -0.0548,
"percent_delta": -0.1723,
"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": 3,
"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.0607,
"predicted_3B": 0.0009,
"predicted_AB": 6.9696,
"predicted_AVG": 0.1703,
"predicted_BB": 0.6797,
"predicted_H": 1.1873,
"predicted_HBP": 0.536,
"predicted_HR": 0.1086,
"predicted_OBP": 0.2441,
"predicted_R": 0.3868,
"predicted_RBI": 0.8658,
"predicted_SLG": 0.2261,
"predicted_SO": 1.8597
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0607,
"after": 0.0607,
"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.9696,
"after": 6.9696,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.1911,
"after": 0.1703,
"delta": -0.0208,
"percent_delta": -0.1088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6754,
"after": 0.6797,
"delta": 0.0043,
"percent_delta": 0.0064,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.1582,
"after": 1.1873,
"delta": 0.0291,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.536,
"after": 0.536,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1061,
"after": 0.1086,
"delta": 0.0025,
"percent_delta": 0.0236,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2603,
"after": 0.2441,
"delta": -0.0162,
"percent_delta": -0.0622,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3713,
"after": 0.3868,
"delta": 0.0155,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8311,
"after": 0.8658,
"delta": 0.0347,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2632,
"after": 0.2261,
"delta": -0.0371,
"percent_delta": -0.141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8715,
"after": 1.8597,
"delta": -0.0118,
"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_SLG",
"before": 0.2632,
"after": 0.2261,
"delta": -0.0371,
"percent_delta": -0.141,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.97), rates preserved: AVG=0.170 HR/AB=0.016",
"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.0607,
"after": 0.0,
"delta": -0.0607,
"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.9696,
"after": 7.0,
"delta": 0.0304,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6797,
"after": 1.0,
"delta": 0.3203,
"percent_delta": 0.4712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.1873,
"after": 1.0,
"delta": -0.1873,
"percent_delta": -0.1578,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1086,
"after": 0.0,
"delta": -0.1086,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8658,
"after": 1.0,
"delta": 0.1342,
"percent_delta": 0.155,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8597,
"after": 2.0,
"delta": 0.1403,
"percent_delta": 0.0754,
"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.6797,
"after": 1.0,
"delta": 0.3203,
"percent_delta": 0.4712,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.536,
"after": 0.0,
"delta": -0.536,
"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": 0.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.3868,
"after": 0.0,
"delta": -0.3868,
"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": 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.3868,
"after": 0.0,
"delta": -0.3868,
"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": 7.0,
"predicted_AVG": 0.143,
"predicted_BB": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.25,
"predicted_R": 0.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.1703,
"after": 0.143,
"delta": -0.0273,
"percent_delta": -0.1603,
"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.2441,
"after": 0.25,
"delta": 0.0059,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2261,
"after": 0.143,
"delta": -0.0831,
"percent_delta": -0.3675,
"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.2441,
"after": 0.25,
"delta": 0.0059,
"percent_delta": 0.0242,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2261,
"after": 0.143,
"delta": -0.0831,
"percent_delta": -0.3675,
"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": 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": 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": 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.1703,
"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.2441,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2261,
"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.1703,
"delta": 0.0273,
"percent_delta": 0.1913,
"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.2441,
"delta": -0.0059,
"percent_delta": -0.0237,
"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.143,
"after": 0.2261,
"delta": 0.0831,
"percent_delta": 0.5809,
"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.143,
"after": 0.2261,
"delta": 0.0831,
"percent_delta": 0.5809,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.25,
"after": 0.2441,
"delta": -0.0059,
"percent_delta": -0.0237,
"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.028,
"after": 0.0,
"delta": -0.028,
"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.22,
"after": 0.1703,
"delta": -0.0497,
"percent_delta": -0.2259,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.352,
"after": 0.0,
"delta": -0.352,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.273,
"after": 0.2441,
"delta": -0.0289,
"percent_delta": -0.1059,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.193,
"after": 0.0,
"delta": -0.193,
"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.318,
"after": 0.2261,
"delta": -0.0919,
"percent_delta": -0.289,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.814,
"after": 2.0,
"delta": 1.186,
"percent_delta": 1.457,
"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.814,
"after": 2.0,
"delta": 1.186,
"percent_delta": 1.457,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.67,
"after": 0.0,
"delta": -0.67,
"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.028 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.359 | - |
| predicted_AVG | 0.220 | - |
| predicted_BB | 0.352 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.273 | - |
| predicted_R | 0.193 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.318 | - |
| predicted_SO | 0.814 | - |
Final model 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.061 | 0.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.970 | 3.611 |
| predicted_AVG | 0.191 | -0.029 |
| predicted_BB | 0.675 | 0.323 |
| predicted_H | 1.158 | 0.488 |
| predicted_HBP | 0.536 | - |
| predicted_HR | 0.106 | 0.006 |
| predicted_OBP | 0.260 | -0.013 |
| predicted_R | 0.371 | 0.178 |
| predicted_RBI | 0.831 | 0.411 |
| predicted_SLG | 0.263 | -0.055 |
| predicted_SO | 1.871 | 1.058 |
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.061 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.970 | 0.000 |
| predicted_AVG | 0.170 | -0.021 |
| predicted_BB | 0.680 | 0.004 |
| predicted_H | 1.187 | 0.029 |
| predicted_HBP | 0.536 | 0.000 |
| predicted_HR | 0.109 | 0.003 |
| predicted_OBP | 0.244 | -0.016 |
| predicted_R | 0.387 | 0.015 |
| predicted_RBI | 0.866 | 0.035 |
| predicted_SLG | 0.226 | -0.037 |
| predicted_SO | 1.860 | -0.012 |
AB rounded to 7 (raw=6.97), rates preserved: AVG=0.170 HR/AB=0.016
| 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 | 0.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.061 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.030 |
| predicted_AVG | 0.143 | -0.027 |
| predicted_BB | 1.000 | 0.320 |
| predicted_H | 1.000 | -0.187 |
| predicted_HR | 0.000 | -0.109 |
| predicted_OBP | 0.250 | 0.006 |
| predicted_R | 0.000 | -0.387 |
| predicted_RBI | 1.000 | 0.134 |
| predicted_SLG | 0.143 | -0.083 |
| predicted_SO | 2.000 | 0.140 |
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 | 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 | 2 | - | 17.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.4706 |
| last_10 | 0.20 | 3 | - | 37.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 18.000 | 0.0000 | 0.1190 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1351 | 0.4865 |
| season | 0.60 | 39 | - | 487.000 | 87.000 | 4.000 | 0.000 | 5.000 | 68.000 | 28.000 | 51.000 | 118.000 | 0.1786 | 0.2804 | 0.2177 | 0.1786 | 0.0103 | 0.1396 | 0.1047 | 0.2423 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0020 |
| predicted_AB | 11.6420 |
| predicted_AVG | 0.1537 |
| predicted_BB | 1.0940 |
| predicted_H | 1.7900 |
| predicted_HBP | 0.5360 |
| predicted_HR | 0.1140 |
| predicted_OBP | 0.2438 |
| predicted_R | 0.6020 |
| predicted_RBI | 1.3630 |
| predicted_SLG | 0.1923 |
| predicted_SO | 3.2400 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0280 | 0.1030 | 0.0607 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3590 | 11.6420 | 6.9696 | model_form_blend |
| predicted_AVG | 0.2200 | 0.1537 | 0.1911 | model_form_blend |
| predicted_BB | 0.3520 | 1.0940 | 0.6754 | model_form_blend |
| predicted_H | 0.6700 | 1.7900 | 1.1582 | model_form_blend |
| predicted_HBP | - | 0.5360 | 0.5360 | form_only |
| predicted_HR | 0.1000 | 0.1140 | 0.1061 | model_form_blend |
| predicted_OBP | 0.2730 | 0.2438 | 0.2603 | model_form_blend |
| predicted_R | 0.1930 | 0.6020 | 0.3713 | model_form_blend |
| predicted_RBI | 0.4200 | 1.3630 | 0.8311 | model_form_blend |
| predicted_SLG | 0.3180 | 0.1923 | 0.2632 | model_form_blend |
| predicted_SO | 0.8140 | 3.2400 | 1.8715 | 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 | 146 |
| Season rows before report date | 146 |
| Report year | 2026 |
| Profile rows used | 145 |
| 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.179 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 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 | 20260526_MIN@CHW |
| game_type | full |
| mlbID | 605170 |
| playerID | 605170 |
| playerName | Victor Caratini |
| pos | C |
| started | True |
| startingPosition | C |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-26 |
| game_pk | 824597.0 |
| sl_k_percent | 20.8 |
| sl_bb_percent | 8.7 |
| sl_woba | 0.247 |
| sl_xwoba | 0.328 |
| sl_xba | 0.243 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 39.8 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 36.7 |
| sl_exit_velocity_avg | 88.6 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 22.2 |
| sl_swing_percent | 43.0 |
| at_bat_number | 68.0 |
| ab_pitcher | 663542.0 |
| ab_pitcher_name | Hudson, Bryan |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 10.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 665019.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 2.0 |
| ab_event | strikeout |
| ab_event_description | Victor Caratini strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 3.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 | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 86.82000000000001 |
| ab_release_spin_rate_avg | 2302.2 |
| ab_effective_speed_avg | 87.97999999999999 |
| ab_delta_run_exp_avg | -0.0546 |
| ab_delta_home_win_exp_avg | 0.0534 |
| ab_delta_pitcher_run_exp_avg | 0.0546 |
| ab_bat_speed_avg | 70.8 |
| ab_swing_length_avg | 7.15 |
| ab_release_speed_max | 94.8 |
| ab_release_spin_rate_max | 2344.0 |
| ab_release_speed_min | 80.3 |
| ab_release_spin_rate_min | 2248.0 |
| ab_delta_run_exp_sum | -0.273 |
| ab_delta_home_win_exp_sum | 0.267 |
| ab_delta_pitcher_run_exp_sum | 0.273 |
| 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.044 | 0.000 | 0.000 | Hitting_2B | 0.044 | 0.000 | -0.044 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.267 | 3.000 | 6.000 | Hitting_AB | 3.231 | 3.000 | -0.231 | 0.000 |
| predicted_AVG | 0.238 | 0.000 | 0.167 | Hitting_AVG | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_BB | 0.211 | 0.000 | 1.000 | Hitting_BB | 0.209 | 0.000 | -0.209 | 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.681 | 0.000 | -0.681 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_OBP | 0.298 | 0.000 | 0.286 | Hitting_OBP | 0.265 | 0.000 | -0.265 | 0.000 |
| predicted_R | 0.333 | 0.000 | 1.000 | Hitting_R | 0.330 | 0.000 | -0.330 | 0.000 |
| predicted_RBI | 0.340 | 0.000 | 1.000 | Hitting_RBI | 0.637 | 0.000 | -0.637 | 0.000 |
| predicted_SLG | 0.326 | 0.000 | 0.167 | Hitting_SLG | 0.357 | 0.000 | -0.357 | 0.000 |
| predicted_SO | 1.244 | 0.000 | 2.000 | Hitting_SO | 1.231 | 0.000 | -1.231 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.2440 -> 0.0000 (deboost -1.2440, 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.2670 -> 5.5773 (boost 2.3103, better) | predicted_AVG: 0.2380 -> 0.2102 (deboost -0.0278, 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.2786 -> 0.2483 (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 | 3 | 3 | 3 | 3 | predicted_BB: 0.4856 -> 1.0000 (boost 0.5144, better) | predicted_HR: 0.1728 -> 0.0000 (deboost -0.1728, worse) | AB rounded to 6 (raw=5.58), rates preserved: AVG=0.183 HR/AB=0.031 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5364 -> 1.0000 (boost 0.4636, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2483 -> 0.2860 (boost 0.0377, better) | predicted_SLG: 0.2898 -> 0.1670 (deboost -0.1228, 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 -> 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.2898 (boost 0.1228, better) | predicted_OBP: 0.2860 -> 0.2483 (deboost -0.0377, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656484",
"player_name": "Tristan Gray",
"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.044,
"predicted_3B": 0.0,
"predicted_AB": 3.267,
"predicted_AVG": 0.238,
"predicted_BB": 0.211,
"predicted_H": 0.62,
"predicted_HR": 0.08,
"predicted_OBP": 0.298,
"predicted_R": 0.333,
"predicted_RBI": 0.34,
"predicted_SLG": 0.326,
"predicted_SO": 1.244
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0754,
"predicted_3B": 0.0013,
"predicted_AB": 5.5773,
"predicted_AVG": 0.2102,
"predicted_BB": 0.4826,
"predicted_H": 0.9948,
"predicted_HBP": 0.088,
"predicted_HR": 0.1688,
"predicted_OBP": 0.2786,
"predicted_R": 0.5149,
"predicted_RBI": 0.7374,
"predicted_SLG": 0.3091,
"predicted_SO": 2.0247
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.044,
"after": 0.0754,
"delta": 0.0314,
"percent_delta": 0.7136,
"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.267,
"after": 5.5773,
"delta": 2.3103,
"percent_delta": 0.7072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2102,
"delta": -0.0278,
"percent_delta": -0.1168,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.4826,
"delta": 0.2716,
"percent_delta": 1.2872,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 0.9948,
"delta": 0.3748,
"percent_delta": 0.6045,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1688,
"delta": 0.0888,
"percent_delta": 1.11,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2786,
"delta": -0.0194,
"percent_delta": -0.0651,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.5149,
"delta": 0.1819,
"percent_delta": 0.5462,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.34,
"after": 0.7374,
"delta": 0.3974,
"percent_delta": 1.1688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.326,
"after": 0.3091,
"delta": -0.0169,
"percent_delta": -0.0518,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.244,
"after": 2.0247,
"delta": 0.7807,
"percent_delta": 0.6276,
"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.267,
"after": 5.5773,
"delta": 2.3103,
"percent_delta": 0.7072,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2102,
"delta": -0.0278,
"percent_delta": -0.1168,
"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": 5,
"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.0754,
"predicted_3B": 0.0013,
"predicted_AB": 5.5773,
"predicted_AVG": 0.1828,
"predicted_BB": 0.4856,
"predicted_H": 1.0198,
"predicted_HBP": 0.088,
"predicted_HR": 0.1728,
"predicted_OBP": 0.2483,
"predicted_R": 0.5364,
"predicted_RBI": 0.7682,
"predicted_SLG": 0.2898,
"predicted_SO": 2.0119
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0754,
"after": 0.0754,
"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.5773,
"after": 5.5773,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2102,
"after": 0.1828,
"delta": -0.0274,
"percent_delta": -0.1304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4826,
"after": 0.4856,
"delta": 0.003,
"percent_delta": 0.0062,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.9948,
"after": 1.0198,
"delta": 0.025,
"percent_delta": 0.0251,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.088,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1688,
"after": 0.1728,
"delta": 0.004,
"percent_delta": 0.0237,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2786,
"after": 0.2483,
"delta": -0.0303,
"percent_delta": -0.1088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5149,
"after": 0.5364,
"delta": 0.0215,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7374,
"after": 0.7682,
"delta": 0.0308,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3091,
"after": 0.2898,
"delta": -0.0193,
"percent_delta": -0.0624,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0247,
"after": 2.0119,
"delta": -0.0128,
"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_OBP",
"before": 0.2786,
"after": 0.2483,
"delta": -0.0303,
"percent_delta": -0.1088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.58), rates preserved: AVG=0.183 HR/AB=0.031",
"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.0754,
"after": 0.0,
"delta": -0.0754,
"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.5773,
"after": 6.0,
"delta": 0.4227,
"percent_delta": 0.0758,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4856,
"after": 1.0,
"delta": 0.5144,
"percent_delta": 1.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0198,
"after": 1.0,
"delta": -0.0198,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.088,
"after": 0.0,
"delta": -0.088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1728,
"after": 0.0,
"delta": -0.1728,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7682,
"after": 1.0,
"delta": 0.2318,
"percent_delta": 0.3017,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.0119,
"after": 2.0,
"delta": -0.0119,
"percent_delta": -0.0059,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 3,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.4856,
"after": 1.0,
"delta": 0.5144,
"percent_delta": 1.0593,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1728,
"after": 0.0,
"delta": -0.1728,
"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.5364,
"after": 1.0,
"delta": 0.4636,
"percent_delta": 0.8643,
"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.5364,
"after": 1.0,
"delta": 0.4636,
"percent_delta": 0.8643,
"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.1828,
"after": 0.167,
"delta": -0.0158,
"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": 1.0,
"after": 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.2483,
"after": 0.286,
"delta": 0.0377,
"percent_delta": 0.1518,
"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.2898,
"after": 0.167,
"delta": -0.1228,
"percent_delta": -0.4237,
"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.2483,
"after": 0.286,
"delta": 0.0377,
"percent_delta": 0.1518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2898,
"after": 0.167,
"delta": -0.1228,
"percent_delta": -0.4237,
"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": 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": 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": 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.1828,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2483,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2898,
"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.1828,
"delta": 0.0158,
"percent_delta": 0.0949,
"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.2483,
"delta": -0.0377,
"percent_delta": -0.1318,
"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.2898,
"delta": 0.1228,
"percent_delta": 0.7351,
"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.2898,
"delta": 0.1228,
"percent_delta": 0.7351,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.286,
"after": 0.2483,
"delta": -0.0377,
"percent_delta": -0.1318,
"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.044,
"after": 0.0,
"delta": -0.044,
"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.267,
"after": 3.0,
"delta": -0.267,
"percent_delta": -0.0817,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.1828,
"delta": -0.0552,
"percent_delta": -0.2319,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.211,
"after": 0.0,
"delta": -0.211,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.298,
"after": 0.2483,
"delta": -0.0497,
"percent_delta": -0.1668,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.333,
"after": 0.0,
"delta": -0.333,
"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.326,
"after": 0.2898,
"delta": -0.0362,
"percent_delta": -0.111,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.244,
"after": 0.0,
"delta": -1.244,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.244,
"after": 0.0,
"delta": -1.244,
"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.044 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.267 | - |
| predicted_AVG | 0.238 | - |
| predicted_BB | 0.211 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.298 | - |
| predicted_R | 0.333 | - |
| predicted_RBI | 0.340 | - |
| predicted_SLG | 0.326 | - |
| predicted_SO | 1.244 | - |
Final model 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.075 | 0.031 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.577 | 2.310 |
| predicted_AVG | 0.210 | -0.028 |
| predicted_BB | 0.483 | 0.272 |
| predicted_H | 0.995 | 0.375 |
| predicted_HBP | 0.088 | - |
| predicted_HR | 0.169 | 0.089 |
| predicted_OBP | 0.279 | -0.019 |
| predicted_R | 0.515 | 0.182 |
| predicted_RBI | 0.737 | 0.397 |
| predicted_SLG | 0.309 | -0.017 |
| predicted_SO | 2.025 | 0.781 |
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.075 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.577 | 0.000 |
| predicted_AVG | 0.183 | -0.027 |
| predicted_BB | 0.486 | 0.003 |
| predicted_H | 1.020 | 0.025 |
| predicted_HBP | 0.088 | 0.000 |
| predicted_HR | 0.173 | 0.004 |
| predicted_OBP | 0.248 | -0.030 |
| predicted_R | 0.536 | 0.021 |
| predicted_RBI | 0.768 | 0.031 |
| predicted_SLG | 0.290 | -0.019 |
| predicted_SO | 2.012 | -0.013 |
AB rounded to 6 (raw=5.58), rates preserved: AVG=0.183 HR/AB=0.031
| 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.075 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.423 |
| predicted_AVG | 0.167 | -0.016 |
| predicted_BB | 1.000 | 0.514 |
| predicted_H | 1.000 | -0.020 |
| predicted_HR | 0.000 | -0.173 |
| predicted_OBP | 0.286 | 0.038 |
| predicted_R | 1.000 | 0.464 |
| predicted_RBI | 1.000 | 0.232 |
| predicted_SLG | 0.167 | -0.123 |
| predicted_SO | 2.000 | -0.012 |
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 | -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 | 2 | - | 13.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 4.000 | 0.0000 | 0.1333 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.1538 | 0.3077 |
| last_10 | 0.20 | 5 | - | 21.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 5.000 | 7.000 | 0.0476 | 0.2308 | 0.0476 | 0.0476 | 0.0000 | 0.0000 | 0.2381 | 0.3333 |
| season | 0.60 | 28 | - | 294.000 | 62.000 | 4.000 | 0.000 | 13.000 | 58.000 | 30.000 | 19.000 | 112.000 | 0.2109 | 0.2648 | 0.3571 | 0.2109 | 0.0442 | 0.1973 | 0.0646 | 0.3810 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1180 |
| predicted_3B | 0.0030 |
| predicted_AB | 8.7030 |
| predicted_AVG | 0.1726 |
| predicted_BB | 0.8500 |
| predicted_H | 1.5020 |
| predicted_HBP | 0.0880 |
| predicted_HR | 0.2890 |
| predicted_OBP | 0.2523 |
| predicted_R | 0.7610 |
| predicted_RBI | 1.2750 |
| predicted_SLG | 0.2863 |
| predicted_SO | 3.0810 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0440 | 0.1180 | 0.0754 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.2670 | 8.7030 | 5.5773 | model_form_blend |
| predicted_AVG | 0.2380 | 0.1726 | 0.2102 | model_form_blend |
| predicted_BB | 0.2110 | 0.8500 | 0.4826 | model_form_blend |
| predicted_H | 0.6200 | 1.5020 | 0.9948 | model_form_blend |
| predicted_HBP | - | 0.0880 | 0.0880 | form_only |
| predicted_HR | 0.0800 | 0.2890 | 0.1688 | model_form_blend |
| predicted_OBP | 0.2980 | 0.2523 | 0.2786 | model_form_blend |
| predicted_R | 0.3330 | 0.7610 | 0.5149 | model_form_blend |
| predicted_RBI | 0.3400 | 1.2750 | 0.7374 | model_form_blend |
| predicted_SLG | 0.3260 | 0.2863 | 0.3091 | model_form_blend |
| predicted_SO | 1.2440 | 3.0810 | 2.0247 | 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 | 90 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 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.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 | 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 | 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 656484 |
| playerID | 656484 |
| playerName | Tristan Gray |
| pos | 3B |
| started | True |
| startingPosition | SS |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 34.1 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.296 |
| sl_xwoba | 0.315 |
| sl_xba | 0.247 |
| sl_xslg | 0.388 |
| sl_sweet_spot_percent | 42.0 |
| sl_barrel_batted_rate | 10.2 |
| sl_hard_hit_percent | 38.0 |
| sl_exit_velocity_avg | 88.5 |
| sl_launch_angle_avg | 11.5 |
| sl_whiff_percent | 37.9 |
| sl_swing_percent | 54.7 |
| at_bat_number | 67.0 |
| ab_pitcher | 685126.0 |
| ab_pitcher_name | Eisert, Brandon |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 8.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 807712.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 14.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 14.0 |
| ab_event | field_out |
| ab_event_description | Tristan Gray flies out to center fielder Tristan Peters. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 95.7 |
| ab_launch_angle_last | 44.0 |
| ab_hit_distance_last | 279.0 |
| ab_estimated_ba_last | 0.026 |
| ab_estimated_woba_last | 0.041 |
| ab_estimated_slg_last | 0.073 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 14.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 14.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 89.3 |
| ab_release_spin_rate_avg | 1885.0 |
| ab_effective_speed_avg | 91.0 |
| ab_launch_speed_avg | 95.7 |
| ab_launch_angle_avg | 44.0 |
| ab_delta_run_exp_avg | -0.268 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.268 |
| ab_bat_speed_avg | 73.7 |
| ab_swing_length_avg | 6.6 |
| ab_launch_speed_max | 95.7 |
| ab_hit_distance_sc_max | 279.0 |
| ab_release_speed_max | 89.3 |
| ab_release_spin_rate_max | 1885.0 |
| ab_release_speed_min | 89.3 |
| ab_release_spin_rate_min | 1885.0 |
| ab_delta_run_exp_sum | -0.268 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.268 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.196 | 0.000 | 0.000 | Hitting_2B | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.391 | 3.000 | 6.000 | Hitting_AB | 3.250 | 1.000 | -0.250 | 2.000 |
| predicted_AVG | 0.273 | 0.000 | 0.333 | Hitting_AVG | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_BB | 0.391 | 0.000 | 1.000 | Hitting_BB | 0.375 | 0.000 | -0.375 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_H | 0.680 | 0.000 | 2.000 | Hitting_H | 0.896 | 0.000 | -0.896 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.188 | 0.000 | -0.188 | 0.000 |
| predicted_OBP | 0.322 | 0.000 | 0.429 | Hitting_OBP | 0.351 | 0.000 | -0.351 | 0.000 |
| predicted_R | 0.652 | 0.000 | 1.000 | Hitting_R | 0.646 | 0.000 | -0.646 | 0.000 |
| predicted_RBI | 0.370 | 0.000 | 1.000 | Hitting_RBI | 0.500 | 0.000 | -0.500 | 0.000 |
| predicted_SLG | 0.434 | 0.000 | 0.333 | Hitting_SLG | 0.506 | 0.000 | -0.506 | 0.000 |
| predicted_SO | 1.152 | 1.000 | 2.000 | Hitting_SO | 1.104 | 0.000 | -0.104 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 10 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 10 |
| Better Metrics | 1 |
| Worse Metrics | 9 |
| Biggest Boost | - |
| 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.3910 -> 5.6843 (boost 2.2933, 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.2726 -> 0.2529 (deboost -0.0197, worse) | 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_H: 1.4376 -> 2.0000 (boost 0.5624, better) | predicted_2B: 0.2851 -> 0.0000 (deboost -0.2851, worse) | AB rounded to 6 (raw=5.68), rates preserved: AVG=0.253 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.0701 -> 1.0000 (deboost -0.0701, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3202 -> 0.4290 (boost 0.1088, better) | predicted_SLG: 0.4259 -> 0.3330 (deboost -0.0929, 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 -> 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.4259 (boost 0.0929, better) | predicted_OBP: 0.4290 -> 0.3202 (deboost -0.1088, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668952",
"player_name": "Ryan Kreidler",
"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.196,
"predicted_3B": 0.0,
"predicted_AB": 3.391,
"predicted_AVG": 0.273,
"predicted_BB": 0.391,
"predicted_H": 0.68,
"predicted_HR": 0.11,
"predicted_OBP": 0.322,
"predicted_R": 0.652,
"predicted_RBI": 0.37,
"predicted_SLG": 0.434,
"predicted_SO": 1.152
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2851,
"predicted_3B": 0.002,
"predicted_AB": 5.6843,
"predicted_AVG": 0.2726,
"predicted_BB": 0.5591,
"predicted_H": 1.4024,
"predicted_HBP": 0.012,
"predicted_HR": 0.226,
"predicted_OBP": 0.326,
"predicted_R": 1.0272,
"predicted_RBI": 0.6708,
"predicted_SLG": 0.4407,
"predicted_SO": 1.7836
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.2851,
"delta": 0.0891,
"percent_delta": 0.4546,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.002,
"delta": 0.002,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.391,
"after": 5.6843,
"delta": 2.2933,
"percent_delta": 0.6763,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2726,
"delta": -0.0004,
"percent_delta": -0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.5591,
"delta": 0.1681,
"percent_delta": 0.4299,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.68,
"after": 1.4024,
"delta": 0.7224,
"percent_delta": 1.0624,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.226,
"delta": 0.116,
"percent_delta": 1.0545,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.322,
"after": 0.326,
"delta": 0.004,
"percent_delta": 0.0124,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.652,
"after": 1.0272,
"delta": 0.3752,
"percent_delta": 0.5755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.37,
"after": 0.6708,
"delta": 0.3008,
"percent_delta": 0.813,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.434,
"after": 0.4407,
"delta": 0.0067,
"percent_delta": 0.0154,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.152,
"after": 1.7836,
"delta": 0.6316,
"percent_delta": 0.5483,
"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.391,
"after": 5.6843,
"delta": 2.2933,
"percent_delta": 0.6763,
"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": 14
}
},
{
"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.2851,
"predicted_3B": 0.002,
"predicted_AB": 5.6843,
"predicted_AVG": 0.2529,
"predicted_BB": 0.5626,
"predicted_H": 1.4376,
"predicted_HBP": 0.012,
"predicted_HR": 0.2313,
"predicted_OBP": 0.3202,
"predicted_R": 1.0701,
"predicted_RBI": 0.6988,
"predicted_SLG": 0.4259,
"predicted_SO": 1.7724
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2851,
"after": 0.2851,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.002,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.6843,
"after": 5.6843,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2726,
"after": 0.2529,
"delta": -0.0197,
"percent_delta": -0.0723,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5591,
"after": 0.5626,
"delta": 0.0035,
"percent_delta": 0.0063,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4024,
"after": 1.4376,
"delta": 0.0352,
"percent_delta": 0.0251,
"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.226,
"after": 0.2313,
"delta": 0.0053,
"percent_delta": 0.0235,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3202,
"delta": -0.0058,
"percent_delta": -0.0178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0272,
"after": 1.0701,
"delta": 0.0429,
"percent_delta": 0.0418,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6708,
"after": 0.6988,
"delta": 0.028,
"percent_delta": 0.0417,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4407,
"after": 0.4259,
"delta": -0.0148,
"percent_delta": -0.0336,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7836,
"after": 1.7724,
"delta": -0.0112,
"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.2726,
"after": 0.2529,
"delta": -0.0197,
"percent_delta": -0.0723,
"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.253 HR/AB=0.041",
"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.2851,
"after": 0.0,
"delta": -0.2851,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.002,
"after": 0.0,
"delta": -0.002,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.6843,
"after": 6.0,
"delta": 0.3157,
"percent_delta": 0.0555,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.5626,
"after": 1.0,
"delta": 0.4374,
"percent_delta": 0.7775,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.4376,
"after": 2.0,
"delta": 0.5624,
"percent_delta": 0.3912,
"direction": "boost",
"projection_effect": "better",
"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.2313,
"after": 0.0,
"delta": -0.2313,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6988,
"after": 1.0,
"delta": 0.3012,
"percent_delta": 0.431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7724,
"after": 2.0,
"delta": 0.2276,
"percent_delta": 0.1284,
"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_H",
"before": 1.4376,
"after": 2.0,
"delta": 0.5624,
"percent_delta": 0.3912,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.2851,
"after": 0.0,
"delta": -0.2851,
"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": 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.0701,
"after": 1.0,
"delta": -0.0701,
"percent_delta": -0.0655,
"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.0701,
"after": 1.0,
"delta": -0.0701,
"percent_delta": -0.0655,
"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.2529,
"after": 0.333,
"delta": 0.0801,
"percent_delta": 0.3167,
"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.3202,
"after": 0.429,
"delta": 0.1088,
"percent_delta": 0.3398,
"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.4259,
"after": 0.333,
"delta": -0.0929,
"percent_delta": -0.2181,
"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.3202,
"after": 0.429,
"delta": 0.1088,
"percent_delta": 0.3398,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4259,
"after": 0.333,
"delta": -0.0929,
"percent_delta": -0.2181,
"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": 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": 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.2529,
"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.3202,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4259,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2529,
"delta": -0.0801,
"percent_delta": -0.2405,
"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.3202,
"delta": -0.1088,
"percent_delta": -0.2536,
"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.4259,
"delta": 0.0929,
"percent_delta": 0.2789,
"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.4259,
"delta": 0.0929,
"percent_delta": 0.2789,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.3202,
"delta": -0.1088,
"percent_delta": -0.2536,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.196,
"after": 0.0,
"delta": -0.196,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.391,
"after": 3.0,
"delta": -0.391,
"percent_delta": -0.1153,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.273,
"after": 0.2529,
"delta": -0.0201,
"percent_delta": -0.0736,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.391,
"after": 0.0,
"delta": -0.391,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.322,
"after": 0.3202,
"delta": -0.0018,
"percent_delta": -0.0056,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.652,
"after": 0.0,
"delta": -0.652,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.434,
"after": 0.4259,
"delta": -0.0081,
"percent_delta": -0.0187,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.152,
"after": 1.0,
"delta": -0.152,
"percent_delta": -0.1319,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 10,
"boosted_metrics": 0,
"deboosted_metrics": 10,
"better_metrics": 1,
"worse_metrics": 9,
"biggest_boost": null,
"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.196 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.391 | - |
| predicted_AVG | 0.273 | - |
| predicted_BB | 0.391 | - |
| predicted_H | 0.680 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.322 | - |
| predicted_R | 0.652 | - |
| predicted_RBI | 0.370 | - |
| predicted_SLG | 0.434 | - |
| predicted_SO | 1.152 | - |
Final model 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.285 | 0.089 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 5.684 | 2.293 |
| predicted_AVG | 0.273 | -0.000 |
| predicted_BB | 0.559 | 0.168 |
| predicted_H | 1.402 | 0.722 |
| predicted_HBP | 0.012 | - |
| predicted_HR | 0.226 | 0.116 |
| predicted_OBP | 0.326 | 0.004 |
| predicted_R | 1.027 | 0.375 |
| predicted_RBI | 0.671 | 0.301 |
| predicted_SLG | 0.441 | 0.007 |
| predicted_SO | 1.784 | 0.632 |
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.285 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 5.684 | 0.000 |
| predicted_AVG | 0.253 | -0.020 |
| predicted_BB | 0.563 | 0.003 |
| predicted_H | 1.438 | 0.035 |
| predicted_HBP | 0.012 | 0.000 |
| predicted_HR | 0.231 | 0.005 |
| predicted_OBP | 0.320 | -0.006 |
| predicted_R | 1.070 | 0.043 |
| predicted_RBI | 0.699 | 0.028 |
| predicted_SLG | 0.426 | -0.015 |
| predicted_SO | 1.772 | -0.011 |
AB rounded to 6 (raw=5.68), rates preserved: AVG=0.253 HR/AB=0.041
| 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.285 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 6.000 | 0.316 |
| predicted_AVG | 0.333 | 0.080 |
| predicted_BB | 1.000 | 0.437 |
| predicted_H | 2.000 | 0.562 |
| predicted_HR | 0.000 | -0.231 |
| predicted_OBP | 0.429 | 0.109 |
| predicted_R | 1.000 | -0.070 |
| predicted_RBI | 1.000 | 0.301 |
| predicted_SLG | 0.333 | -0.093 |
| predicted_SO | 2.000 | 0.228 |
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 | -2.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 | -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 | - | 13.000 | 4.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 2.000 | 0.3077 | 0.3077 | 0.3077 | 0.3077 | 0.0000 | 0.0000 | 0.0000 | 0.1538 |
| last_10 | 0.20 | 4 | - | 33.000 | 6.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 13.000 | 0.1818 | 0.1818 | 0.1818 | 0.1818 | 0.0000 | 0.0000 | 0.0000 | 0.3939 |
| season | 0.60 | 14 | - | 156.000 | 43.000 | 9.000 | 0.000 | 9.000 | 24.000 | 30.000 | 18.000 | 53.000 | 0.2756 | 0.3506 | 0.5064 | 0.2756 | 0.0577 | 0.1538 | 0.1154 | 0.3397 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4150 |
| predicted_3B | 0.0050 |
| predicted_AB | 9.0260 |
| predicted_AVG | 0.2719 |
| predicted_BB | 0.8040 |
| predicted_H | 2.4550 |
| predicted_HBP | 0.0120 |
| predicted_HR | 0.3950 |
| predicted_OBP | 0.3318 |
| predicted_R | 1.5740 |
| predicted_RBI | 1.1090 |
| predicted_SLG | 0.4505 |
| predicted_SO | 2.7040 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1960 | 0.4150 | 0.2851 | model_form_blend |
| predicted_3B | 0.0000 | 0.0050 | 0.0020 | model_form_blend |
| predicted_AB | 3.3910 | 9.0260 | 5.6843 | model_form_blend |
| predicted_AVG | 0.2730 | 0.2719 | 0.2726 | model_form_blend |
| predicted_BB | 0.3910 | 0.8040 | 0.5591 | model_form_blend |
| predicted_H | 0.6800 | 2.4550 | 1.4024 | model_form_blend |
| predicted_HBP | - | 0.0120 | 0.0120 | form_only |
| predicted_HR | 0.1100 | 0.3950 | 0.2260 | model_form_blend |
| predicted_OBP | 0.3220 | 0.3318 | 0.3260 | model_form_blend |
| predicted_R | 0.6520 | 1.5740 | 1.0272 | model_form_blend |
| predicted_RBI | 0.3700 | 1.1090 | 0.6708 | model_form_blend |
| predicted_SLG | 0.4340 | 0.4505 | 0.4407 | model_form_blend |
| predicted_SO | 1.1520 | 2.7040 | 1.7836 | 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 | 46 |
| 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 | 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 | 3B |
| gameID | 20260527_MIN@CHW |
| game_type | short |
| mlbID | 668952 |
| playerID | 668952 |
| playerName | Ryan Kreidler |
| pos | CF |
| started | False |
| startingPosition | 3B |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 27.7 |
| sl_bb_percent | 10.6 |
| sl_woba | 0.396 |
| sl_xwoba | 0.344 |
| sl_xba | 0.246 |
| sl_xslg | 0.466 |
| sl_sweet_spot_percent | 37.9 |
| sl_barrel_batted_rate | 10.3 |
| sl_hard_hit_percent | 34.5 |
| sl_exit_velocity_avg | 88.9 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 32.3 |
| sl_swing_percent | 53.1 |
| at_bat_number | 75.0 |
| ab_pitcher | 670950.0 |
| ab_pitcher_name | Richards, Trevor |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Top |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 15.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 15.0 |
| ab_event | field_out |
| ab_event_description | Ryan Kreidler lines out sharply to center fielder Tristan Peters. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 106.2 |
| ab_launch_angle_last | 16.0 |
| ab_hit_distance_last | 347.0 |
| ab_estimated_ba_last | 0.566 |
| ab_estimated_woba_last | 0.662 |
| ab_estimated_slg_last | 1.003 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 15.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 15.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 92.65 |
| ab_release_spin_rate_avg | 2286.5 |
| ab_effective_speed_avg | 93.4 |
| ab_launch_speed_avg | 89.35 |
| ab_launch_angle_avg | 36.5 |
| ab_delta_run_exp_avg | -0.128 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.128 |
| ab_bat_speed_avg | 75.7 |
| ab_swing_length_avg | 7.8 |
| ab_launch_speed_max | 106.2 |
| ab_hit_distance_sc_max | 347.0 |
| ab_release_speed_max | 93.0 |
| ab_release_spin_rate_max | 2324.0 |
| ab_release_speed_min | 92.3 |
| ab_release_spin_rate_min | 2249.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 2.000 | 2.000 | 2.000 | Pitching_BB | 2.000 | 1.000 | 0.000 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 0.400 | 0.000 | 2.600 | 3.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 2.200 | 1.000 | 2.800 | 4.000 |
| predicted_IP | 3.000 | 3.000 | 3.000 | Pitching_InningsPitched | 2.820 | 3.000 | 0.180 | 0.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 2.800 | 3.000 | 1.200 | 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.0000 -> 3.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 | starter_usage_guardrail | 1 | 0 | 1 | 0 | 1 | - | predicted_IP: 5.0000 -> 3.0000 (deboost -2.0000, 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": "696070",
"player_name": "Kendry Rojas",
"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": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_SO": 4.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "starter_usage_guardrail",
"description": "Starter workload capped by recent innings, season ERA/WHIP, and team-form context.",
"stats": {
"predicted_BB": 2.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 3.0,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 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": 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.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 4.0,
"after": 4.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 0,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 1,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 3.0,
"delta": -2.0,
"percent_delta": -0.4,
"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 | 3.000 | - |
| predicted_H | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.000 | - |
| predicted_SO | 4.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 | 3.000 | 0.000 |
| predicted_H | 5.000 | 0.000 |
| predicted_HR | 1.000 | 0.000 |
| predicted_IP | 3.000 | -2.000 |
| predicted_SO | 4.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 | 14.100 | 2.000 | 11.000 | 10.000 | 14.000 | 0.000 | 1.2558 | 1.4651 | 0.1395 | 0.7674 | 0.6977 | 0.9767 | 0.0000 |
| last_10 | 0.35 | 5 | 14.100 | 2.000 | 11.000 | 10.000 | 14.000 | 0.000 | 1.2558 | 1.4651 | 0.1395 | 0.7674 | 0.6977 | 0.9767 | 0.0000 |
| season | 0.20 | 5 | 14.100 | 2.000 | 11.000 | 10.000 | 14.000 | 0.000 | 1.2558 | 1.4651 | 0.1395 | 0.7674 | 0.6977 | 0.9767 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 2.0870 |
| predicted_ER | 1.5030 |
| predicted_ERA | 3.1629 |
| predicted_H | 3.7630 |
| predicted_HR | 0.3580 |
| predicted_IP | 4.1000 |
| predicted_SO | 4.0890 |
| predicted_WHIP | 1.3674 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 2.0000 | 2.0870 | 2.0331 | model_form_blend |
| predicted_ER | 3.0000 | 1.5030 | 2.4310 | model_form_blend |
| predicted_ERA | - | 3.1629 | 3.1629 | form_only |
| predicted_H | 5.0000 | 3.7630 | 4.5298 | model_form_blend |
| predicted_HR | 1.0000 | 0.3580 | 0.7560 | model_form_blend |
| predicted_IP | 5.0000 | 4.1000 | 4.2000 | model_form_blend |
| predicted_SO | 4.0000 | 4.0890 | 4.0338 | model_form_blend |
| predicted_WHIP | - | 1.3674 | 1.3674 | 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 | 5 |
| Season rows before report date | 5 |
| Report year | 2026 |
| Profile rows used | 5 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 3.0 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 2 |
| SO | 4 |
| HR | 1 |
| BF | 17 |
| Pitches | 73 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 12 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.26 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 3 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 3.0 |
| Pitching_Pitches | 45 |
| Pitching_R | 0 |
| Pitching_SO | 3 |
| Pitching_Strikes | 27 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260523_MIN@BOS |
| game_type | full |
| mlbID | 696070 |
| playerID | 696070 |
| playerName | Kendry Rojas |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-23 |
| game_pk | 824760.0 |
| sl_k_percent | 23.0 |
| sl_bb_percent | 16.4 |
| sl_woba | 0.307 |
| sl_xwoba | 0.304 |
| sl_sweet_spot_percent | 38.9 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 36.1 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 43.6 |
| sv_pitch_count | 45.0 |
| sv_outs_recorded_est | 9.0 |
| sv_release_speed | 92.29111111111112 |
| sv_release_spin_rate | 1870.2 |
| sv_effective_speed | 92.83777777777776 |
| sv_launch_speed | 73.87857142857142 |
| sv_launch_angle | 5.5 |
| sv_woba_value | 2.7 |
| sv_woba_denom | 11.0 |
| sv_delta_run_exp | -0.826 |
| sv_delta_home_win_exp | -0.165 |
| sl_avg_best_speed | 71.557302222 |
| sl_avg_hyper_speed | 93.567433143 |
| 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.300 | 0.000 | -0.300 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.100 | 0.000 | -0.100 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.400 | 1.000 | -0.400 | -1.000 |
| predicted_IP | 3.000 | 3.000 | 3.000 | Pitching_InningsPitched | 0.750 | 1.000 | 2.250 | 2.000 |
| 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: 1.0000 -> 3.0000 (boost 2.0000, better) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 1 | 1 | 0 | 1 | 0 | predicted_IP: 1.0000 -> 3.0000 (boost 2.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": 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": 3.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": 3.0,
"delta": 2.0,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"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": 1.0,
"after": 3.0,
"delta": 2.0,
"percent_delta": 2.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 | 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 | 1.000 | 4.000 | 3.000 | 9.000 | 0.000 | 1.5882 | 1.2353 | 0.1765 | 0.7059 | 0.5294 | 1.5882 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 1.000 | 4.000 | 3.000 | 10.000 | 0.000 | 1.0385 | 0.8077 | 0.1154 | 0.4615 | 0.3462 | 1.1539 | 0.0000 |
| season | 0.20 | 19 | 26.000 | 13.000 | 23.000 | 13.000 | 23.000 | 5.000 | 4.5000 | 1.3846 | 0.5000 | 0.8846 | 0.5000 | 0.8846 | 0.1923 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4290 |
| predicted_ER | 0.3560 |
| predicted_ERA | 3.0954 |
| predicted_H | 0.8250 |
| predicted_HR | 0.0870 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1600 |
| predicted_WHIP | 1.2126 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4290 | 0.1894 | model_form_blend |
| predicted_ER | 0.0000 | 0.3560 | 0.1571 | model_form_blend |
| predicted_ERA | - | 3.0954 | 3.0954 | form_only |
| predicted_H | 0.0000 | 0.8250 | 0.3642 | model_form_blend |
| predicted_HR | 0.0000 | 0.0870 | 0.0384 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.1600 | 1.0706 | model_form_blend |
| predicted_WHIP | - | 1.2126 | 1.2126 | 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 | 19 |
| Pitcher metrics | Pitching_InningsPitched, Pitching_ER, Pitching_SO, Pitching_H, Pitching_BB |
| Simulation Box Score Field | Value |
|---|---|
| IP | 3.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 9 |
| Pitches | 40 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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.50 |
| 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 | 18 |
| Pitching_R | 1 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260526_MIN@CHW |
| game_type | full |
| mlbID | 672782 |
| playerID | 672782 |
| playerName | Yoendrys Gómez |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-26 |
| game_pk | 824597.0 |
| sl_k_percent | 19.8 |
| sl_bb_percent | 11.2 |
| sl_woba | 0.34 |
| sl_xwoba | 0.37 |
| sl_sweet_spot_percent | 36.4 |
| sl_barrel_batted_rate | 12.9 |
| sl_hard_hit_percent | 38.6 |
| sl_whiff_percent | 23.4 |
| sl_swing_percent | 47.3 |
| sv_pitch_count | 18.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 89.88888888888889 |
| sv_release_spin_rate | 2595.611111111112 |
| sv_effective_speed | 91.03333333333332 |
| sv_launch_speed | 89.47999999999999 |
| sv_launch_angle | 25.4 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.2889999999999999 |
| sv_delta_home_win_exp | -0.1009999999999999 |
| sl_avg_best_speed | 77.375435 |
| sl_avg_hyper_speed | 94.260914559 |
| 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.261 | 0.000 | -0.261 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.348 | 0.000 | -0.348 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.130 | 1.000 | -1.130 | -1.000 |
| predicted_IP | 2.000 | 2.000 | 2.000 | Pitching_InningsPitched | 0.691 | 1.000 | 1.309 | 1.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.696 | 1.000 | 0.304 | 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 -> 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": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 0.6667,
"predicted_SO": 1.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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 | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.667 | - |
| predicted_SO | 1.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 3.000 | 0.000 | 4.000 | 0.000 | 3.000 | 0.000 | 0.0000 | 1.3333 | 0.0000 | 1.3333 | 0.0000 | 1.0000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 1.000 | 13.000 | 0.000 | 9.000 | 0.000 | 0.9000 | 1.3000 | 0.1000 | 1.3000 | 0.0000 | 0.9000 | 0.0000 |
| season | 0.20 | 22 | 20.100 | 5.000 | 24.000 | 5.000 | 16.000 | 0.000 | 2.2131 | 1.4262 | 0.2459 | 1.1803 | 0.2459 | 0.7869 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1700 |
| predicted_ER | 0.2240 |
| predicted_ERA | 2.6906 |
| predicted_H | 0.8220 |
| predicted_HR | 0.0540 |
| predicted_IP | 0.2000 |
| predicted_SO | 0.6990 |
| predicted_WHIP | 1.3246 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1700 | 0.0706 | model_form_blend |
| predicted_ER | 0.0000 | 0.2240 | 0.0931 | model_form_blend |
| predicted_ERA | - | 2.6906 | 2.6906 | form_only |
| predicted_H | 0.0000 | 0.8220 | 0.3416 | model_form_blend |
| predicted_HR | 0.0000 | 0.0540 | 0.0224 | model_form_blend |
| predicted_IP | 0.2000 | 0.2000 | 0.2000 | model_form_blend |
| predicted_SO | 1.0000 | 0.6990 | 0.8749 | model_form_blend |
| predicted_WHIP | - | 1.3246 | 1.3246 | 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 | 2.0 |
| H | 0 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 25 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 3.54 |
| 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 | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260526_MIN@CHW |
| game_type | full |
| mlbID | 573124 |
| playerID | 573124 |
| playerName | Taylor Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | MIN |
| teamID | 17 |
| game_date | 2026-05-26 |
| game_pk | 824597.0 |
| sl_k_percent | 17.8 |
| sl_bb_percent | 6.7 |
| sl_woba | 0.344 |
| sl_xwoba | 0.344 |
| sl_sweet_spot_percent | 50.7 |
| sl_barrel_batted_rate | 7.5 |
| sl_hard_hit_percent | 29.9 |
| sl_whiff_percent | 16.5 |
| sl_swing_percent | 44.5 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 81.86875 |
| sv_release_spin_rate | 2650.5625 |
| sv_effective_speed | 81.10625 |
| sv_launch_speed | 71.475 |
| sv_launch_angle | -10.25 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 0.247 |
| sv_delta_home_win_exp | -0.3049999999999999 |
| sl_avg_best_speed | 75.584724063 |
| sl_avg_hyper_speed | 92.930558125 |
| Field | Value |
|---|---|
| Pitcher | Davis Martin |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | 0.1006 |
| ESPN Rank | 4 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0263 |
| Avg Velo | 90.1572 |
| Avg Spin | 2431.8136 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 7 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 7 |
| Season ERA | 2.0432 |
| Season WHIP | 1.0216 |
| Role Avg IP | 6.1670 |
| Recent Avg IP | 6.0670 |
| Last Start IP | 5.2000 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"opponent": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"edges": {
"quality_edge": -0.1238,
"offense_edge": 0.0457,
"opponent_offense_edge": 0.0639,
"defense_strength": -0.0972,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0261,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663436",
"profile": {
"available": true,
"pitcher_id": "663436",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 213.0,
"k_percent": 27.4,
"bb_percent": 5.0,
"woba": 0.274,
"xwoba": 0.3,
"sweet_spot_percent": 35.0,
"barrel_batted_rate": 7.6,
"hard_hit_percent": 46.9,
"avg_best_speed": 79.5068,
"avg_hyper_speed": 95.0652,
"whiff_percent": 28.0,
"swing_percent": 50.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.0455,
"command_and_miss": 0.6336,
"regression_edge": -0.7429,
"xwoba_edge": 0.2571,
"barrel_edge": -0.0667,
"hard_hit_edge": -1.2,
"whiff_edge": 0.3,
"bb_edge": 1.1,
"pitch_design_score": 0.0263
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663436",
"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.1571729375162,
"release_spin_rate": 2431.8135928766455,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1571729375162,
"release_spin_rate": 2431.8135928766455,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1572,
"release_spin_rate": 2431.8136,
"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.0263,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1878,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": 0.1006,
"sample_weight": 0.852,
"run_prevention_factor": 0.9915,
"strikeout_factor": 1.0336,
"walk_factor": 0.925,
"homer_factor": 1.0389,
"woba_minus_xwoba": -0.026,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663436",
"espn_id": 42823,
"player_name": "Davis Martin",
"team": "CHW",
"role": "pitcher",
"espn_rank": 4,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 4,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 10.0,
"gs_rank": 70,
"qs_value": 7.0,
"qs_rank": 8,
"era_value": 2.0432,
"era_rank": 7.0,
"w_value": 7.0,
"w_rank": 3,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 61.2,
"ip_rank": 35,
"h_value": 51.0,
"h_rank": 66,
"er_value": 14.0,
"er_rank": 153,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 12.0,
"bb_rank": 185,
"k_value": 66.0,
"k_rank": 22,
"k_per_9_value": 9.632432,
"k_per_9_rank": 16,
"whip_value": 1.0216,
"whip_rank": 12.0,
"war_value": 2.89,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 0.9928,
"adjusted": 1
},
"predicted_H": {
"original": 5.0,
"factor": 0.9928,
"adjusted": 5
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9361,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0331,
"adjusted": 0
},
"predicted_SO": {
"original": 7.0,
"factor": 1.0286,
"adjusted": 7
}
}
}
}{
"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.2,
"ER": 14,
"H": 51,
"BB": 12,
"SO": 66,
"HR": 3,
"ERA": 2.0432432432432432,
"WHIP": 1.0216216216216216,
"K9": 9.63243243243243,
"HR9": 0.4378378378378378,
"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-22T00:00:00"
}{
"available": true,
"pitcher_id": "663436",
"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.1571729375162,
"release_spin_rate": 2431.8135928766455,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1571729375162,
"release_spin_rate": 2431.8135928766455,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1572,
"release_spin_rate": 2431.8136,
"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.0263,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.1878,
"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": "663436",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 7.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 30.1,
"ER": 7.0,
"R": 7.0,
"H": 26.0,
"BB": 5.0,
"SO": 40.0,
"HR": 1.0,
"BF": 123.0,
"Pitches": 477.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.4,
"H": 5.2,
"BB": 1.0,
"SO": 8.0,
"HR": 0.2,
"BF": 24.6,
"Pitches": 95.4
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.022,
"ER_per_IP": 0.23077,
"H_per_IP": 0.85714,
"BB_per_IP": 0.16484,
"SO_per_IP": 1.31868,
"HR_per_IP": 0.03297
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 61.2,
"ER": 14.0,
"R": 14.0,
"H": 51.0,
"BB": 12.0,
"SO": 66.0,
"HR": 3.0,
"BF": 241.0,
"Pitches": 922.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.4,
"H": 5.1,
"BB": 1.2,
"SO": 6.6,
"HR": 0.3,
"BF": 24.1,
"Pitches": 92.2
},
"rates": {
"ERA": 2.0432,
"WHIP": 1.0216,
"ER_per_IP": 0.22703,
"H_per_IP": 0.82703,
"BB_per_IP": 0.19459,
"SO_per_IP": 1.07027,
"HR_per_IP": 0.04865
}
},
"season": {
"games": 10,
"totals": {
"IP": 61.2,
"ER": 14.0,
"R": 14.0,
"H": 51.0,
"BB": 12.0,
"SO": 66.0,
"HR": 3.0,
"BF": 241.0,
"Pitches": 922.0
},
"per_game": {
"IP": 6.0,
"ER": 1.4,
"R": 1.4,
"H": 5.1,
"BB": 1.2,
"SO": 6.6,
"HR": 0.3,
"BF": 24.1,
"Pitches": 92.2
},
"rates": {
"ERA": 2.0432,
"WHIP": 1.0216,
"ER_per_IP": 0.22703,
"H_per_IP": 0.82703,
"BB_per_IP": 0.19459,
"SO_per_IP": 1.07027,
"HR_per_IP": 0.04865
}
}
},
"weighted_prediction": {
"predicted_IP": 6.1,
"predicted_ER": 1.962,
"predicted_H": 5.554,
"predicted_BB": 1.53,
"predicted_SO": 7.102,
"predicted_HR": 0.445,
"predicted_ERA": 2.7884,
"predicted_WHIP": 1.1186
}
}{
"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.1,
"final": 6.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 1.962,
"final": 0.999,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 5.554,
"final": 3.8096,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.53,
"final": 0.779,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 6.0,
"form": 7.102,
"final": 6.5611,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.445,
"final": 0.2266,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7884,
"final": 2.7884,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1186,
"final": 1.1186,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Bryan Hudson |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2635 |
| ESPN Rank | 40 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0465 |
| Avg Velo | 88.8567 |
| Avg Spin | 2148.5033 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 3 |
| Pre SO | 2 |
| Season ERA | 1.5652 |
| Season WHIP | 1.3478 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"opponent": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"edges": {
"quality_edge": -0.1238,
"offense_edge": 0.0457,
"opponent_offense_edge": 0.0639,
"defense_strength": -0.0972,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0261,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "663542",
"profile": {
"available": true,
"pitcher_id": "663542",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 92.0,
"k_percent": 23.6,
"bb_percent": 9.1,
"woba": 0.274,
"xwoba": 0.271,
"sweet_spot_percent": 26.8,
"barrel_batted_rate": 1.4,
"hard_hit_percent": 32.4,
"avg_best_speed": 77.2857,
"avg_hyper_speed": 92.8516,
"whiff_percent": 25.9,
"swing_percent": 46.4
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.0,
"command_and_miss": 0.0793,
"regression_edge": 0.0857,
"xwoba_edge": 1.0857,
"barrel_edge": 1.3111,
"hard_hit_edge": 0.8714,
"whiff_edge": 0.0,
"bb_edge": 0.075,
"pitch_design_score": -0.0465
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "663542",
"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": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8567,
"release_spin_rate": 2148.5033,
"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.0465,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3324,
"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.2635,
"sample_weight": 0.45,
"run_prevention_factor": 0.9776,
"strikeout_factor": 1.0026,
"walk_factor": 0.9973,
"homer_factor": 0.9225,
"woba_minus_xwoba": 0.003,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "663542",
"espn_id": 4991171,
"player_name": "Bryan Hudson",
"team": "CHW",
"role": "pitcher",
"espn_rank": 40,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 40,
"gp_value": 27.0,
"gp_rank": 5,
"gs_value": 3.0,
"gs_rank": 168,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.367,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 2.0,
"sv_rank": 49,
"hld_value": 3.0,
"hld_rank": 113,
"ip_value": 26.1,
"ip_rank": 187,
"h_value": 22.0,
"h_rank": 217,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 10.0,
"bb_rank": 224,
"k_value": 26.0,
"k_rank": 201,
"k_per_9_value": 8.886076,
"k_per_9_rank": 29,
"whip_value": 1.2151,
"whip_rank": null,
"war_value": 1.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9899,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9651,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0012,
"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": 10,
"BB": 2,
"SO": 7,
"HR": 0,
"ERA": 1.8,
"WHIP": 1.2,
"K9": 6.3,
"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-19T00:00:00"
}{
"available": true,
"pitcher_id": "663542",
"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": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 88.8567107177423,
"release_spin_rate": 2148.503349502572,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8567,
"release_spin_rate": 2148.5033,
"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.0465,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.3324,
"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.537,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4757,
"prior_weight": 0.5243
},
"role": "pitcher",
"player_id": "663542",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.0,
"ER": 2.0,
"R": 2.0,
"H": 5.0,
"BB": 1.0,
"SO": 2.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 69.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4,
"R": 0.4,
"H": 1.0,
"BB": 0.2,
"SO": 0.4,
"HR": 0.0,
"BF": 4.4,
"Pitches": 13.8
},
"rates": {
"ERA": 3.6,
"WHIP": 1.2,
"ER_per_IP": 0.4,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.4,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.0,
"ER": 2.0,
"R": 2.0,
"H": 10.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 42.0,
"Pitches": 147.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 1.0,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 4.2,
"Pitches": 14.7
},
"rates": {
"ERA": 1.8,
"WHIP": 1.2,
"ER_per_IP": 0.2,
"H_per_IP": 1.0,
"BB_per_IP": 0.2,
"SO_per_IP": 0.7,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 23.0,
"ER": 4.0,
"R": 5.0,
"H": 21.0,
"BB": 10.0,
"SO": 23.0,
"HR": 0.0,
"BF": 99.0,
"Pitches": 402.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.2083,
"H": 0.875,
"BB": 0.4167,
"SO": 0.9583,
"HR": 0.0,
"BF": 4.125,
"Pitches": 16.75
},
"rates": {
"ERA": 1.5652,
"WHIP": 1.3478,
"ER_per_IP": 0.17391,
"H_per_IP": 0.91304,
"BB_per_IP": 0.43478,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.383,
"predicted_H": 0.962,
"predicted_BB": 0.311,
"predicted_SO": 0.792,
"predicted_HR": 0.069,
"predicted_ERA": 3.4429,
"predicted_WHIP": 1.2728
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5715,
"form_weight": 0.4285,
"form_reliability": 0.4757,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.537,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4757,
"prior_weight": 0.5243
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.383,
"final": 0.1641,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.962,
"final": 0.4122,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 3.0,
"form": 0.311,
"final": 1.8478,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 0.792,
"final": 1.4824,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.069,
"final": 0.0296,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4429,
"final": 3.4429,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2728,
"final": 1.2728,
"source": "form_only"
}
}
}{
"available": false,
"reason": "No per-inning pitch ledger was stored by the simulation.",
"display_fallback": "Use player_form_blend windows for recent workload and pitch count."
}| Field | Value |
|---|---|
| Pitcher | Grant Taylor |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.3560 |
| ESPN Rank | 124 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2777 |
| Avg Velo | 94.6463 |
| Avg Spin | 2483.6036 |
| 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.4211 |
| Season WHIP | 1.2632 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"opponent": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"edges": {
"quality_edge": -0.1238,
"offense_edge": 0.0457,
"opponent_offense_edge": 0.0639,
"defense_strength": -0.0972,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0261,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "691799",
"profile": {
"available": true,
"pitcher_id": "691799",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 21.0,
"k_percent": 34.8,
"bb_percent": 8.0,
"woba": 0.275,
"xwoba": 0.25,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 6.3,
"hard_hit_percent": 42.2,
"avg_best_speed": 79.4393,
"avg_hyper_speed": 94.2354,
"whiff_percent": 29.3,
"swing_percent": 48.8
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.7698,
"command_and_miss": 1.0243,
"regression_edge": 0.7143,
"xwoba_edge": 1.6857,
"barrel_edge": 0.2222,
"hard_hit_edge": -0.5286,
"whiff_edge": 0.4857,
"bb_edge": 0.35,
"pitch_design_score": 0.2777
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "691799",
"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.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6463,
"release_spin_rate": 2483.6036,
"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.2777,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9835,
"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.356,
"sample_weight": 0.45,
"run_prevention_factor": 0.9697,
"strikeout_factor": 1.0401,
"walk_factor": 0.9874,
"homer_factor": 0.9788,
"woba_minus_xwoba": 0.025,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691799",
"espn_id": 4927630,
"player_name": "Grant Taylor",
"team": "CHW",
"role": "pitcher",
"espn_rank": 124,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 124,
"gp_value": 21.0,
"gp_rank": 105,
"gs_value": 4.0,
"gs_rank": 159,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.3625,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 1.0,
"sv_rank": 73,
"hld_value": 3.0,
"hld_rank": 113,
"ip_value": 26.2,
"ip_rank": 182,
"h_value": 23.0,
"h_rank": 205,
"er_value": 7.0,
"er_rank": 338,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 39.0,
"k_rank": 115,
"k_per_9_value": 13.1625,
"k_per_9_rank": 17,
"whip_value": 1.2,
"whip_rank": null,
"war_value": 0.63,
"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.9943,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9905,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.018,
"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": 6.1,
"ER": 1,
"H": 6,
"BB": 2,
"SO": 8,
"HR": 0,
"ERA": 1.4210526315789473,
"WHIP": 1.2631578947368423,
"K9": 11.368421052631579,
"HR9": 0.0,
"games_pitched": 6,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 6,
"error_prone": false
},
"games_count": 6,
"latest_game_date": "2026-04-09T00:00:00"
}{
"available": true,
"pitcher_id": "691799",
"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.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.64628205128204,
"release_spin_rate": 2483.6036324786323,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6463,
"release_spin_rate": 2483.6036,
"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.2777,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.9835,
"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.8653846153846154,
"last_10": 0.1346153846153846
},
"shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.249,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1999,
"prior_weight": 0.8001
},
"role": "pitcher",
"player_id": "691799",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 6,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 5.1,
"ER": 0.0,
"R": 0.0,
"H": 4.0,
"BB": 1.0,
"SO": 7.0,
"HR": 0.0,
"BF": 21.0,
"Pitches": 80.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.8,
"BB": 0.2,
"SO": 1.4,
"HR": 0.0,
"BF": 4.2,
"Pitches": 16.0
},
"rates": {
"ERA": 0.0,
"WHIP": 0.9375,
"ER_per_IP": 0.0,
"H_per_IP": 0.75,
"BB_per_IP": 0.1875,
"SO_per_IP": 1.3125,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 6,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 1.0,
"BB": 0.3333,
"SO": 1.3333,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.6667
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.2632,
"ER_per_IP": 0.15789,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
},
"season": {
"games": 6,
"totals": {
"IP": 6.1,
"ER": 1.0,
"R": 1.0,
"H": 6.0,
"BB": 2.0,
"SO": 8.0,
"HR": 0.0,
"BF": 27.0,
"Pitches": 106.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1667,
"R": 0.1667,
"H": 1.0,
"BB": 0.3333,
"SO": 1.3333,
"HR": 0.0,
"BF": 4.5,
"Pitches": 17.6667
},
"rates": {
"ERA": 1.4211,
"WHIP": 1.2632,
"ER_per_IP": 0.15789,
"H_per_IP": 0.94737,
"BB_per_IP": 0.31579,
"SO_per_IP": 1.26316,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.381,
"predicted_H": 0.91,
"predicted_BB": 0.336,
"predicted_SO": 1.016,
"predicted_HR": 0.105,
"predicted_ERA": 3.4316,
"predicted_WHIP": 1.246
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.688,
"form_weight": 0.312,
"form_reliability": 0.1999,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 1.249,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.1999,
"prior_weight": 0.8001
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.381,
"final": 0.1189,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.91,
"final": 0.2839,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.336,
"final": 0.1048,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.016,
"final": 0.3169,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.105,
"final": 0.0328,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.4316,
"final": 3.4316,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.246,
"final": 1.246,
"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 | Seranthony Domínguez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.2832 |
| ESPN Rank | 330 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1657 |
| Avg Velo | 92.6462 |
| Avg Spin | 2184.3077 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 0 |
| Season ERA | 13.5000 |
| Season WHIP | 3 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "CHW",
"games": 62,
"wins": 29,
"losses": 33,
"win_pct": 0.4677,
"runs_scored": 287.0,
"runs_allowed": 304.0,
"run_differential": -17.0,
"run_differential_per_game": -0.2742,
"avg_runs_scored": 4.629,
"avg_runs_allowed": 4.9032,
"offense_index": 1.0457,
"defense_index": 0.9028,
"current_streak": "W1",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 5.4,
"avg_runs_allowed": 5.0,
"run_differential": 4.0
},
"available": true,
"quality_score": -0.0615
},
"opponent": {
"team": "MIN",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 292.0,
"runs_allowed": 289.0,
"run_differential": 3.0,
"run_differential_per_game": 0.0484,
"avg_runs_scored": 4.7097,
"avg_runs_allowed": 4.6613,
"offense_index": 1.0639,
"defense_index": 0.9497,
"current_streak": "L1",
"recent": {
"games": 10,
"wins": 7,
"losses": 3,
"win_pct": 0.7,
"avg_runs_scored": 4.2,
"avg_runs_allowed": 4.4,
"run_differential": -2.0
},
"available": true,
"quality_score": 0.0623
},
"edges": {
"quality_edge": -0.1238,
"offense_edge": 0.0457,
"opponent_offense_edge": 0.0639,
"defense_strength": -0.0972,
"opponent_defense_weakness": 0.0503,
"recent_win_pct_edge": -0.2
},
"player_factors": {
"ip": 0.9896,
"run_prevention": 1.0261,
"strikeout": 0.9912
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "622554",
"profile": {
"available": true,
"pitcher_id": "622554",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 4.0,
"k_percent": 28.6,
"bb_percent": 12.1,
"woba": 0.319,
"xwoba": 0.37,
"sweet_spot_percent": 42.3,
"barrel_batted_rate": 11.8,
"hard_hit_percent": 36.5,
"avg_best_speed": 80.4598,
"avg_hyper_speed": 94.704,
"whiff_percent": 28.3,
"swing_percent": 43.2
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -1.0595,
"command_and_miss": 0.3707,
"regression_edge": -1.4571,
"xwoba_edge": -1.7429,
"barrel_edge": -1.0,
"hard_hit_edge": 0.2857,
"whiff_edge": 0.3429,
"bb_edge": -0.675,
"pitch_design_score": 0.1657
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "622554",
"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": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6462,
"release_spin_rate": 2184.3077,
"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.1657,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1834,
"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.2832,
"sample_weight": 0.45,
"run_prevention_factor": 1.0241,
"strikeout_factor": 1.0216,
"walk_factor": 1.0243,
"homer_factor": 1.0544,
"woba_minus_xwoba": -0.051,
"regression_flag": "negative_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "622554",
"espn_id": 37793,
"player_name": "Seranthony Dominguez",
"team": "CHW",
"role": "pitcher",
"espn_rank": 330,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 330,
"gp_value": 22.0,
"gp_rank": 85,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.3548,
"era_rank": null,
"w_value": 3.0,
"w_rank": 68,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 11.0,
"sv_rank": 8,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 20.2,
"ip_rank": 298,
"h_value": 15.0,
"h_rank": 330,
"er_value": 10.0,
"er_rank": 238,
"hr_value": 5.0,
"hr_rank": 102,
"bb_value": 11.0,
"bb_rank": 204,
"k_value": 26.0,
"k_rank": 201,
"k_per_9_value": 11.32258,
"k_per_9_rank": 18,
"whip_value": 1.258,
"whip_rank": null,
"war_value": 0.04,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.0108,
"adjusted": 2
},
"predicted_H": {
"original": 0.0,
"factor": 1.0108,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0109,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0245,
"adjusted": 0
},
"predicted_SO": {
"original": 0.0,
"factor": 1.0097,
"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.1,
"ER": 2,
"H": 3,
"BB": 1,
"SO": 0,
"HR": 1,
"ERA": 13.5,
"WHIP": 3.0,
"K9": 0.0,
"HR9": 6.75,
"games_pitched": 2,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 2,
"error_prone": false
},
"games_count": 2,
"latest_game_date": "2026-03-29T00:00:00"
}{
"available": true,
"pitcher_id": "622554",
"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": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.64615384615384,
"release_spin_rate": 2184.3076923076924,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6462,
"release_spin_rate": 2184.3077,
"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.1657,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.1834,
"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.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.05,
"prior_weight": 0.95
},
"role": "pitcher",
"player_id": "622554",
"report_date": "20260528_M",
"season_year": 2026,
"rows_used": 2,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 2,
"totals": {
"IP": 1.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 0.0,
"HR": 1.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.5,
"BB": 0.5,
"SO": 0.0,
"HR": 0.5,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 13.5,
"WHIP": 3.0,
"ER_per_IP": 1.5,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.0,
"HR_per_IP": 0.75
}
},
"last_10": {
"games": 2,
"totals": {
"IP": 1.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 0.0,
"HR": 1.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.5,
"BB": 0.5,
"SO": 0.0,
"HR": 0.5,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 13.5,
"WHIP": 3.0,
"ER_per_IP": 1.5,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.0,
"HR_per_IP": 0.75
}
},
"season": {
"games": 2,
"totals": {
"IP": 1.1,
"ER": 2.0,
"R": 2.0,
"H": 3.0,
"BB": 1.0,
"SO": 0.0,
"HR": 1.0,
"BF": 8.0,
"Pitches": 32.0
},
"per_game": {
"IP": 0.2,
"ER": 1.0,
"R": 1.0,
"H": 1.5,
"BB": 0.5,
"SO": 0.0,
"HR": 0.5,
"BF": 4.0,
"Pitches": 16.0
},
"rates": {
"ERA": 13.5,
"WHIP": 3.0,
"ER_per_IP": 1.5,
"H_per_IP": 2.25,
"BB_per_IP": 0.75,
"SO_per_IP": 0.0,
"HR_per_IP": 0.75
}
}
},
"weighted_prediction": {
"predicted_IP": 0.1,
"predicted_ER": 0.183,
"predicted_H": 0.353,
"predicted_BB": 0.136,
"predicted_SO": 0.314,
"predicted_HR": 0.057,
"predicted_ERA": 4.7041,
"predicted_WHIP": 1.3965
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.7514,
"form_weight": 0.2486,
"form_reliability": 0.05,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 0.263,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.05,
"prior_weight": 0.95
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 0.1,
"final": 0.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.183,
"final": 0.0455,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.353,
"final": 1.5905,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.136,
"final": 0.0338,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.314,
"final": 0.8294,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.057,
"final": 0.0142,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7041,
"final": 4.7041,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3965,
"final": 1.3965,
"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.170 | 0.000 | 0.000 | Hitting_2B | 0.170 | 0.000 | -0.170 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.260 | 4.000 | 10.000 | Hitting_AB | 3.866 | 5.000 | 0.134 | -1.000 |
| predicted_AVG | 0.246 | 0.000 | 0.300 | Hitting_AVG | 0.268 | 0.400 | -0.268 | -0.400 |
| predicted_BB | 0.439 | 0.000 | 1.000 | Hitting_BB | 0.442 | 1.000 | -0.442 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.004 | 0.000 | -0.004 | 0.000 |
| predicted_H | 1.050 | 0.000 | 3.000 | Hitting_H | 1.036 | 2.000 | -1.036 | -2.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.107 | 1.000 | -0.107 | -1.000 |
| predicted_OBP | 0.330 | 0.000 | 0.364 | Hitting_OBP | 0.340 | 0.500 | -0.340 | -0.500 |
| predicted_R | 0.664 | 0.000 | 2.000 | Hitting_R | 0.661 | 1.000 | -0.661 | -1.000 |
| predicted_RBI | 0.530 | 0.000 | 2.000 | Hitting_RBI | 0.384 | 4.000 | -0.384 | -4.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.022 | 0.000 | -0.022 | 0.000 |
| predicted_SLG | 0.408 | 0.000 | 0.300 | Hitting_SLG | 0.395 | 1.000 | -0.395 | -1.000 |
| predicted_SO | 0.973 | 0.000 | 2.000 | Hitting_SO | 0.969 | 0.000 | -0.969 | 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.2460 -> 0.2732 (boost 0.0272, better) |
| 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 4.2600 -> 9.9804 (boost 5.7204, 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_AVG: 0.2621 -> 0.2732 (boost 0.0111, 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_RBI: 1.5514 -> 2.0000 (boost 0.4486, better) | predicted_HR: 0.4065 -> 0.0000 (deboost -0.4065, worse) | AB rounded to 10 (raw=9.98), rates preserved: AVG=0.273 HR/AB=0.041 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.6397 -> 2.0000 (boost 0.3603, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2732 -> 0.3000 (boost 0.0268, better) | predicted_SLG: 0.4348 -> 0.3000 (deboost -0.1348, 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: 10.0000 -> 4.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.3000 -> 0.4348 (boost 0.1348, better) | predicted_AVG: 0.3000 -> 0.2732 (deboost -0.0268, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "805367",
"player_name": "Chase Meidroth",
"position": "2B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.17,
"predicted_3B": 0.0,
"predicted_AB": 4.26,
"predicted_AVG": 0.246,
"predicted_BB": 0.439,
"predicted_H": 1.05,
"predicted_HR": 0.14,
"predicted_OBP": 0.33,
"predicted_R": 0.664,
"predicted_RBI": 0.53,
"predicted_SLG": 0.408,
"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.3915,
"predicted_3B": 0.0009,
"predicted_AB": 9.9804,
"predicted_AVG": 0.2621,
"predicted_BB": 1.1379,
"predicted_H": 2.7334,
"predicted_HBP": 0.005,
"predicted_HR": 0.4048,
"predicted_OBP": 0.3409,
"predicted_R": 1.6506,
"predicted_RBI": 1.5617,
"predicted_SLG": 0.4268,
"predicted_SO": 2.2588
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.17,
"after": 0.3915,
"delta": 0.2215,
"percent_delta": 1.3029,
"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.26,
"after": 9.9804,
"delta": 5.7204,
"percent_delta": 1.3428,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2621,
"delta": 0.0161,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 1.1379,
"delta": 0.6989,
"percent_delta": 1.592,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.7334,
"delta": 1.6834,
"percent_delta": 1.6032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.4048,
"delta": 0.2648,
"percent_delta": 1.8914,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.33,
"after": 0.3409,
"delta": 0.0109,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 1.6506,
"delta": 0.9866,
"percent_delta": 1.4858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.5617,
"delta": 1.0317,
"percent_delta": 1.9466,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4268,
"delta": 0.0188,
"percent_delta": 0.0461,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.973,
"after": 2.2588,
"delta": 1.2858,
"percent_delta": 1.3215,
"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": 9.9804,
"delta": 5.7204,
"percent_delta": 1.3428,
"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": 1,
"last_10": 2,
"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.3915,
"predicted_3B": 0.0009,
"predicted_AB": 9.9804,
"predicted_AVG": 0.2732,
"predicted_BB": 1.1357,
"predicted_H": 2.7268,
"predicted_HBP": 0.005,
"predicted_HR": 0.4065,
"predicted_OBP": 0.3475,
"predicted_R": 1.6397,
"predicted_RBI": 1.5514,
"predicted_SLG": 0.4348,
"predicted_SO": 2.2631
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3915,
"after": 0.3915,
"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": 9.9804,
"after": 9.9804,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2621,
"after": 0.2732,
"delta": 0.0111,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1379,
"after": 1.1357,
"delta": -0.0022,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.7334,
"after": 2.7268,
"delta": -0.0066,
"percent_delta": -0.0024,
"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.4048,
"after": 0.4065,
"delta": 0.0017,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3409,
"after": 0.3475,
"delta": 0.0066,
"percent_delta": 0.0194,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6506,
"after": 1.6397,
"delta": -0.0109,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5617,
"after": 1.5514,
"delta": -0.0103,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4268,
"after": 0.4348,
"delta": 0.008,
"percent_delta": 0.0187,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2588,
"after": 2.2631,
"delta": 0.0043,
"percent_delta": 0.0019,
"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.2621,
"after": 0.2732,
"delta": 0.0111,
"percent_delta": 0.0424,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=9.98), rates preserved: AVG=0.273 HR/AB=0.041",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.3915,
"after": 0.0,
"delta": -0.3915,
"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": 9.9804,
"after": 10.0,
"delta": 0.0196,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.1357,
"after": 1.0,
"delta": -0.1357,
"percent_delta": -0.1195,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.7268,
"after": 3.0,
"delta": 0.2732,
"percent_delta": 0.1002,
"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.4065,
"after": 0.0,
"delta": -0.4065,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5514,
"after": 2.0,
"delta": 0.4486,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2631,
"after": 2.0,
"delta": -0.2631,
"percent_delta": -0.1163,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 2,
"deboosted_metrics": 4,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 1.5514,
"after": 2.0,
"delta": 0.4486,
"percent_delta": 0.2892,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.4065,
"after": 0.0,
"delta": -0.4065,
"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": 10.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.0,
"after": 10.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.6397,
"after": 2.0,
"delta": 0.3603,
"percent_delta": 0.2197,
"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.6397,
"after": 2.0,
"delta": 0.3603,
"percent_delta": 0.2197,
"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": 10.0,
"predicted_AVG": 0.3,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.3,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2732,
"after": 0.3,
"delta": 0.0268,
"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_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_OBP",
"before": 0.3475,
"after": 0.364,
"delta": 0.0165,
"percent_delta": 0.0475,
"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.4348,
"after": 0.3,
"delta": -0.1348,
"percent_delta": -0.31,
"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.2732,
"after": 0.3,
"delta": 0.0268,
"percent_delta": 0.0981,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4348,
"after": 0.3,
"delta": -0.1348,
"percent_delta": -0.31,
"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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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": 3.0,
"after": 0.0,
"delta": -3.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": 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": 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": 10.0,
"after": 4.0,
"delta": -6.0,
"percent_delta": -0.6,
"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.2732,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3475,
"predicted_R": 0.0,
"predicted_RBI": 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": 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.3,
"after": 0.2732,
"delta": -0.0268,
"percent_delta": -0.0893,
"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.364,
"after": 0.3475,
"delta": -0.0165,
"percent_delta": -0.0454,
"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.3,
"after": 0.4348,
"delta": 0.1348,
"percent_delta": 0.4494,
"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.3,
"after": 0.4348,
"delta": 0.1348,
"percent_delta": 0.4494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2732,
"delta": -0.0268,
"percent_delta": -0.0893,
"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.17,
"after": 0.0,
"delta": -0.17,
"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.26,
"after": 4.0,
"delta": -0.26,
"percent_delta": -0.061,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2732,
"delta": 0.0272,
"percent_delta": 0.1106,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.439,
"after": 0.0,
"delta": -0.439,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 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.33,
"after": 0.3475,
"delta": 0.0175,
"percent_delta": 0.053,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.664,
"after": 0.0,
"delta": -0.664,
"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.4348,
"delta": 0.0268,
"percent_delta": 0.0657,
"direction": "boost",
"projection_effect": "better",
"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": 11,
"boosted_metrics": 3,
"deboosted_metrics": 8,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.246,
"after": 0.2732,
"delta": 0.0272,
"percent_delta": 0.1106,
"direction": "boost",
"projection_effect": "better",
"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.170 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.260 | - |
| predicted_AVG | 0.246 | - |
| predicted_BB | 0.439 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.330 | - |
| predicted_R | 0.664 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.408 | - |
| 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.392 | 0.222 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.980 | 5.720 |
| predicted_AVG | 0.262 | 0.016 |
| predicted_BB | 1.138 | 0.699 |
| predicted_H | 2.733 | 1.683 |
| predicted_HBP | 0.005 | - |
| predicted_HR | 0.405 | 0.265 |
| predicted_OBP | 0.341 | 0.011 |
| predicted_R | 1.651 | 0.987 |
| predicted_RBI | 1.562 | 1.032 |
| predicted_SLG | 0.427 | 0.019 |
| predicted_SO | 2.259 | 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.392 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.980 | 0.000 |
| predicted_AVG | 0.273 | 0.011 |
| predicted_BB | 1.136 | -0.002 |
| predicted_H | 2.727 | -0.007 |
| predicted_HBP | 0.005 | 0.000 |
| predicted_HR | 0.406 | 0.002 |
| predicted_OBP | 0.347 | 0.007 |
| predicted_R | 1.640 | -0.011 |
| predicted_RBI | 1.551 | -0.010 |
| predicted_SLG | 0.435 | 0.008 |
| predicted_SO | 2.263 | 0.004 |
AB rounded to 10 (raw=9.98), rates preserved: AVG=0.273 HR/AB=0.041
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 10.000 | - |
| BB | 1.000 | - |
| H | 3.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 | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.000 | 0.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.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 | 0.000 | -0.392 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 10.000 | 0.020 |
| predicted_AVG | 0.300 | 0.027 |
| predicted_BB | 1.000 | -0.136 |
| predicted_H | 3.000 | 0.273 |
| predicted_HR | 0.000 | -0.406 |
| predicted_OBP | 0.364 | 0.017 |
| predicted_R | 2.000 | 0.360 |
| predicted_RBI | 2.000 | 0.449 |
| predicted_SLG | 0.300 | -0.135 |
| predicted_SO | 2.000 | -0.263 |
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 | -6.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -3.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 4.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -2.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 | 1 | - | 25.000 | 10.000 | 0.000 | 0.000 | 5.000 | 20.000 | 5.000 | 5.000 | 0.000 | 0.4000 | 0.5000 | 1.0000 | 0.4000 | 0.2000 | 0.8000 | 0.2000 | 0.0000 |
| last_10 | 0.20 | 2 | - | 50.000 | 20.000 | 0.000 | 0.000 | 6.000 | 28.000 | 6.000 | 6.000 | 4.000 | 0.4000 | 0.4643 | 0.7600 | 0.4000 | 0.1200 | 0.5600 | 0.1200 | 0.0800 |
| season | 0.60 | 52 | - | 866.000 | 232.000 | 38.000 | 0.000 | 24.000 | 86.000 | 148.000 | 98.000 | 217.000 | 0.2679 | 0.3392 | 0.3949 | 0.2679 | 0.0277 | 0.0993 | 0.1132 | 0.2506 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6720 |
| predicted_3B | 0.0020 |
| predicted_AB | 17.2240 |
| predicted_AVG | 0.2824 |
| predicted_BB | 2.0230 |
| predicted_H | 4.8650 |
| predicted_HBP | 0.0050 |
| predicted_HR | 0.7400 |
| predicted_OBP | 0.3547 |
| predicted_R | 2.9000 |
| predicted_RBI | 2.8680 |
| predicted_SLG | 0.4506 |
| predicted_SO | 3.8870 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1700 | 0.6720 | 0.3915 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.2600 | 17.2240 | 9.9804 | model_form_blend |
| predicted_AVG | 0.2460 | 0.2824 | 0.2621 | model_form_blend |
| predicted_BB | 0.4390 | 2.0230 | 1.1379 | model_form_blend |
| predicted_H | 1.0500 | 4.8650 | 2.7334 | model_form_blend |
| predicted_HBP | - | 0.0050 | 0.0050 | form_only |
| predicted_HR | 0.1400 | 0.7400 | 0.4048 | model_form_blend |
| predicted_OBP | 0.3300 | 0.3547 | 0.3409 | model_form_blend |
| predicted_R | 0.6640 | 2.9000 | 1.6506 | model_form_blend |
| predicted_RBI | 0.5300 | 2.8680 | 1.5617 | model_form_blend |
| predicted_SLG | 0.4080 | 0.4506 | 0.4268 | model_form_blend |
| predicted_SO | 0.9730 | 3.8870 | 2.2588 | 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 | 224 |
| Season rows before report date | 224 |
| 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 | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.268 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 4 |
| 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 | 2B-3B |
| gameID | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 805367 |
| playerID | 805367 |
| playerName | Chase Meidroth |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 23.1 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.324 |
| sl_xwoba | 0.301 |
| sl_xba | 0.242 |
| sl_xslg | 0.346 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 4.8 |
| sl_hard_hit_percent | 37.4 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 8.0 |
| sl_whiff_percent | 19.2 |
| sl_swing_percent | 39.7 |
| at_bat_number | 73.0 |
| ab_pitcher | 606115.0 |
| ab_pitcher_name | Arcia, Orlando |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_3b_start | 671976.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 15.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 15.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Chase Meidroth grounds out, shortstop Tristan Gray to first baseman Josh Bell. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | CU |
| ab_pitch_name_last | Curveball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 83.8 |
| ab_launch_angle_last | -13.0 |
| ab_hit_distance_last | 12.0 |
| ab_estimated_ba_last | 0.089 |
| ab_estimated_woba_last | 0.08 |
| ab_estimated_slg_last | 0.1 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 15.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 15.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 46.55 |
| ab_release_spin_rate_avg | 1280.0 |
| ab_effective_speed_avg | 44.4 |
| ab_launch_speed_avg | 83.8 |
| ab_launch_angle_avg | -13.0 |
| ab_delta_run_exp_avg | -0.1415 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.1415 |
| ab_bat_speed_avg | 69.6 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 83.8 |
| ab_hit_distance_sc_max | 12.0 |
| ab_release_speed_max | 52.5 |
| ab_release_spin_rate_max | 1445.0 |
| ab_release_speed_min | 40.6 |
| ab_release_spin_rate_min | 1115.0 |
| ab_delta_run_exp_sum | -0.283 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.283 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.226 | 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.532 | 3.000 | 3.000 | Hitting_AB | 2.034 | 2.000 | 0.966 | 1.000 |
| predicted_AVG | 0.300 | 0.333 | 0.333 | Hitting_AVG | 0.271 | 0.000 | 0.062 | 0.333 |
| predicted_BB | 0.065 | 1.000 | 0.000 | Hitting_BB | 0.069 | 0.000 | 0.931 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.590 | 1.000 | 1.000 | Hitting_H | 0.552 | 0.000 | 0.448 | 1.000 |
| predicted_HR | 0.140 | 1.000 | 0.000 | Hitting_HR | 0.276 | 0.000 | 0.724 | 1.000 |
| predicted_OBP | 0.313 | 0.500 | 0.333 | Hitting_OBP | 0.338 | 0.000 | 0.162 | 0.500 |
| predicted_R | 0.387 | 1.000 | 0.000 | Hitting_R | 0.276 | 0.000 | 0.724 | 1.000 |
| predicted_RBI | 0.380 | 3.000 | 0.000 | Hitting_RBI | 0.655 | 0.000 | 2.345 | 3.000 |
| predicted_SLG | 0.495 | 1.333 | 0.333 | Hitting_SLG | 0.678 | 0.000 | 0.655 | 1.333 |
| predicted_SO | 0.726 | 0.000 | 1.000 | Hitting_SO | 0.414 | 1.000 | -0.414 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 6 |
| Deboosted Metrics | 5 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.3800 -> 3.0000 (boost 2.6200, better) |
| Biggest Deboost | predicted_SO: 0.7260 -> 0.0000 (deboost -0.7260, 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 | 6 | 3 | 5 | 4 | predicted_AB: 2.5320 -> 3.3101 (boost 0.7781, better) | predicted_AVG: 0.3000 -> 0.2712 (deboost -0.0288, 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.2712 -> 0.2303 (deboost -0.0409, 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: 0.7624 -> 1.0000 (boost 0.2376, better) | predicted_RBI: 0.4646 -> 0.0000 (deboost -0.4646, worse) | AB rounded to 3 (raw=3.31), rates preserved: AVG=0.230 HR/AB=0.050 |
| 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 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2303 -> 0.3330 (boost 0.1027, better) | predicted_SLG: 0.4545 -> 0.3330 (deboost -0.1215, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 5 | 4 | 1 | 5 | 0 | predicted_RBI: 0.0000 -> 3.0000 (boost 3.0000, better) | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, better) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.3330 -> 0.4545 (boost 0.1215, better) | predicted_AVG: 0.3330 -> 0.2303 (deboost -0.1027, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "545341",
"player_name": "Randal Grichuk",
"position": "DH",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.226,
"predicted_3B": 0.0,
"predicted_AB": 2.532,
"predicted_AVG": 0.3,
"predicted_BB": 0.065,
"predicted_H": 0.59,
"predicted_HR": 0.14,
"predicted_OBP": 0.313,
"predicted_R": 0.387,
"predicted_RBI": 0.38,
"predicted_SLG": 0.495,
"predicted_SO": 0.726
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2406,
"predicted_3B": 0.0012,
"predicted_AB": 3.3101,
"predicted_AVG": 0.2712,
"predicted_BB": 0.1783,
"predicted_H": 0.7642,
"predicted_HBP": 0.072,
"predicted_HR": 0.1656,
"predicted_OBP": 0.3035,
"predicted_R": 0.4443,
"predicted_RBI": 0.4677,
"predicted_SLG": 0.467,
"predicted_SO": 0.9693
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.226,
"after": 0.2406,
"delta": 0.0146,
"percent_delta": 0.0646,
"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.532,
"after": 3.3101,
"delta": 0.7781,
"percent_delta": 0.3073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2712,
"delta": -0.0288,
"percent_delta": -0.096,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.065,
"after": 0.1783,
"delta": 0.1133,
"percent_delta": 1.7431,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 0.7642,
"delta": 0.1742,
"percent_delta": 0.2953,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.1656,
"delta": 0.0256,
"percent_delta": 0.1829,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.3035,
"delta": -0.0095,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.387,
"after": 0.4443,
"delta": 0.0573,
"percent_delta": 0.1481,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 0.4677,
"delta": 0.0877,
"percent_delta": 0.2308,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.467,
"delta": -0.028,
"percent_delta": -0.0566,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.726,
"after": 0.9693,
"delta": 0.2433,
"percent_delta": 0.3351,
"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.532,
"after": 3.3101,
"delta": 0.7781,
"percent_delta": 0.3073,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2712,
"delta": -0.0288,
"percent_delta": -0.096,
"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": 7,
"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.2406,
"predicted_3B": 0.0012,
"predicted_AB": 3.3101,
"predicted_AVG": 0.2303,
"predicted_BB": 0.178,
"predicted_H": 0.7624,
"predicted_HBP": 0.072,
"predicted_HR": 0.1663,
"predicted_OBP": 0.2696,
"predicted_R": 0.4414,
"predicted_RBI": 0.4646,
"predicted_SLG": 0.4545,
"predicted_SO": 0.9711
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2406,
"after": 0.2406,
"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.3101,
"after": 3.3101,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2712,
"after": 0.2303,
"delta": -0.0409,
"percent_delta": -0.1508,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1783,
"after": 0.178,
"delta": -0.0003,
"percent_delta": -0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.7642,
"after": 0.7624,
"delta": -0.0018,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.1656,
"after": 0.1663,
"delta": 0.0007,
"percent_delta": 0.0042,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3035,
"after": 0.2696,
"delta": -0.0339,
"percent_delta": -0.1117,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4443,
"after": 0.4414,
"delta": -0.0029,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4677,
"after": 0.4646,
"delta": -0.0031,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.467,
"after": 0.4545,
"delta": -0.0125,
"percent_delta": -0.0268,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9693,
"after": 0.9711,
"delta": 0.0018,
"percent_delta": 0.0019,
"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.2712,
"after": 0.2303,
"delta": -0.0409,
"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 3 (raw=3.31), rates preserved: AVG=0.230 HR/AB=0.050",
"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.2406,
"after": 0.0,
"delta": -0.2406,
"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.3101,
"after": 3.0,
"delta": -0.3101,
"percent_delta": -0.0937,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.178,
"after": 0.0,
"delta": -0.178,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.7624,
"after": 1.0,
"delta": 0.2376,
"percent_delta": 0.3116,
"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.1663,
"after": 0.0,
"delta": -0.1663,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.0,
"delta": -0.4646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.9711,
"after": 1.0,
"delta": 0.0289,
"percent_delta": 0.0298,
"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": 0.7624,
"after": 1.0,
"delta": 0.2376,
"percent_delta": 0.3116,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4646,
"after": 0.0,
"delta": -0.4646,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.4414,
"after": 0.0,
"delta": -0.4414,
"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.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": 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.2303,
"after": 0.333,
"delta": 0.1027,
"percent_delta": 0.4459,
"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.2696,
"after": 0.333,
"delta": 0.0634,
"percent_delta": 0.2352,
"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.4545,
"after": 0.333,
"delta": -0.1215,
"percent_delta": -0.2673,
"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.2303,
"after": 0.333,
"delta": 0.1027,
"percent_delta": 0.4459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4545,
"after": 0.333,
"delta": -0.1215,
"percent_delta": -0.2673,
"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": 3.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": 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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 4,
"deboosted_metrics": 1,
"better_metrics": 5,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 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.2303,
"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.2696,
"predicted_R": 1.0,
"predicted_RBI": 3.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4545,
"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.2303,
"delta": -0.1027,
"percent_delta": -0.3084,
"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.333,
"after": 0.2696,
"delta": -0.0634,
"percent_delta": -0.1904,
"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": 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.4545,
"delta": 0.1215,
"percent_delta": 0.3647,
"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.4545,
"delta": 0.1215,
"percent_delta": 0.3647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.333,
"after": 0.2303,
"delta": -0.1027,
"percent_delta": -0.3084,
"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.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": 2.532,
"after": 3.0,
"delta": 0.468,
"percent_delta": 0.1848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2303,
"delta": -0.0697,
"percent_delta": -0.2323,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.065,
"after": 1.0,
"delta": 0.935,
"percent_delta": 14.3846,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.59,
"after": 1.0,
"delta": 0.41,
"percent_delta": 0.6949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 1.0,
"delta": 0.86,
"percent_delta": 6.1429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.313,
"after": 0.2696,
"delta": -0.0434,
"percent_delta": -0.1387,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.387,
"after": 1.0,
"delta": 0.613,
"percent_delta": 1.584,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.38,
"after": 3.0,
"delta": 2.62,
"percent_delta": 6.8947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.495,
"after": 0.4545,
"delta": -0.0405,
"percent_delta": -0.0818,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 7,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_RBI",
"before": 0.38,
"after": 3.0,
"delta": 2.62,
"percent_delta": 6.8947,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.726,
"after": 0.0,
"delta": -0.726,
"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.226 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.532 | - |
| predicted_AVG | 0.300 | - |
| predicted_BB | 0.065 | - |
| predicted_H | 0.590 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.313 | - |
| predicted_R | 0.387 | - |
| predicted_RBI | 0.380 | - |
| predicted_SLG | 0.495 | - |
| predicted_SO | 0.726 | - |
Final model 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.241 | 0.015 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.310 | 0.778 |
| predicted_AVG | 0.271 | -0.029 |
| predicted_BB | 0.178 | 0.113 |
| predicted_H | 0.764 | 0.174 |
| predicted_HBP | 0.072 | - |
| predicted_HR | 0.166 | 0.026 |
| predicted_OBP | 0.303 | -0.010 |
| predicted_R | 0.444 | 0.057 |
| predicted_RBI | 0.468 | 0.088 |
| predicted_SLG | 0.467 | -0.028 |
| predicted_SO | 0.969 | 0.243 |
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.241 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.310 | 0.000 |
| predicted_AVG | 0.230 | -0.041 |
| predicted_BB | 0.178 | -0.000 |
| predicted_H | 0.762 | -0.002 |
| predicted_HBP | 0.072 | 0.000 |
| predicted_HR | 0.166 | 0.001 |
| predicted_OBP | 0.270 | -0.034 |
| predicted_R | 0.441 | -0.003 |
| predicted_RBI | 0.465 | -0.003 |
| predicted_SLG | 0.455 | -0.013 |
| predicted_SO | 0.971 | 0.002 |
AB rounded to 3 (raw=3.31), rates preserved: AVG=0.230 HR/AB=0.050
| 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.241 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.310 |
| predicted_AVG | 0.333 | 0.103 |
| predicted_BB | 0.000 | -0.178 |
| predicted_H | 1.000 | 0.238 |
| predicted_HR | 0.000 | -0.166 |
| predicted_OBP | 0.333 | 0.063 |
| predicted_R | 0.000 | -0.441 |
| predicted_RBI | 0.000 | -0.465 |
| predicted_SLG | 0.333 | -0.121 |
| predicted_SO | 1.000 | 0.029 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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 | 1.000 | 1.000 |
| PA | 4.000 | - |
| R | 1.000 | 1.000 |
| RBI | 3.000 | 3.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 0.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 3 | - | 8.000 | 1.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 3.000 | 0.1250 | 0.3000 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.2500 | 0.3750 |
| last_10 | 0.20 | 7 | - | 14.000 | 4.000 | 0.000 | 0.000 | 1.000 | 1.000 | 1.000 | 2.000 | 5.000 | 0.2857 | 0.3750 | 0.5000 | 0.2857 | 0.0714 | 0.0714 | 0.1429 | 0.3571 |
| season | 0.60 | 28 | - | 157.000 | 36.000 | 14.000 | 0.000 | 8.000 | 28.000 | 24.000 | 4.000 | 45.000 | 0.2293 | 0.2588 | 0.4713 | 0.2293 | 0.0510 | 0.1783 | 0.0255 | 0.2866 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2620 |
| predicted_3B | 0.0030 |
| predicted_AB | 4.4480 |
| predicted_AVG | 0.2290 |
| predicted_BB | 0.3440 |
| predicted_H | 1.0190 |
| predicted_HBP | 0.0720 |
| predicted_HR | 0.2030 |
| predicted_OBP | 0.2897 |
| predicted_R | 0.5280 |
| predicted_RBI | 0.5960 |
| predicted_SLG | 0.4260 |
| predicted_SO | 1.3250 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2260 | 0.2620 | 0.2406 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.5320 | 4.4480 | 3.3101 | model_form_blend |
| predicted_AVG | 0.3000 | 0.2290 | 0.2712 | model_form_blend |
| predicted_BB | 0.0650 | 0.3440 | 0.1783 | model_form_blend |
| predicted_H | 0.5900 | 1.0190 | 0.7642 | model_form_blend |
| predicted_HBP | - | 0.0720 | 0.0720 | form_only |
| predicted_HR | 0.1400 | 0.2030 | 0.1656 | model_form_blend |
| predicted_OBP | 0.3130 | 0.2897 | 0.3035 | model_form_blend |
| predicted_R | 0.3870 | 0.5280 | 0.4443 | model_form_blend |
| predicted_RBI | 0.3800 | 0.5960 | 0.4677 | model_form_blend |
| predicted_SLG | 0.4950 | 0.4260 | 0.4670 | model_form_blend |
| predicted_SO | 0.7260 | 1.3250 | 0.9693 | 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 | 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 | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 3 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 20260526_MIN@CHW |
| game_type | ph |
| mlbID | 545341 |
| note | Struck out for Benintendi in the 9th. |
| playerID | 545341 |
| playerName | Randal Grichuk |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-26 |
| game_pk | 824597.0 |
| sl_k_percent | 24.2 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.339 |
| sl_xwoba | 0.39 |
| sl_xba | 0.296 |
| sl_xslg | 0.591 |
| sl_sweet_spot_percent | 45.5 |
| sl_barrel_batted_rate | 18.2 |
| sl_hard_hit_percent | 47.7 |
| sl_exit_velocity_avg | 91.8 |
| sl_launch_angle_avg | 15.7 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 48.4 |
| at_bat_number | 82.0 |
| ab_pitcher | 672782.0 |
| ab_pitcher_name | Gómez, Yoendrys |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 11.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_1b_start | 805367.0 |
| ab_on_2b_start | 805367.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 3.0 |
| ab_away_score_start | 5.0 |
| ab_bat_score_start | 3.0 |
| ab_fld_score_start | 5.0 |
| ab_event | field_out |
| ab_event_description | Randal Grichuk grounds out sharply, shortstop Ryan Kreidler to first baseman Josh Bell. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | ST |
| ab_pitch_name_last | Sweeper |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 104.9 |
| ab_launch_angle_last | 2.0 |
| ab_hit_distance_last | 72.0 |
| ab_estimated_ba_last | 0.54 |
| ab_estimated_woba_last | 0.498 |
| ab_estimated_slg_last | 0.597 |
| 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 | 0.0 |
| ab_home_score_end | 3.0 |
| ab_away_score_end | 5.0 |
| ab_bat_score_end | 3.0 |
| ab_fld_score_end | 5.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.9 |
| ab_release_spin_rate_avg | 2618.0 |
| ab_effective_speed_avg | 90.95 |
| ab_launch_speed_avg | 104.9 |
| ab_launch_angle_avg | 2.0 |
| ab_delta_run_exp_avg | -0.1295 |
| ab_delta_home_win_exp_avg | -0.023 |
| ab_delta_pitcher_run_exp_avg | 0.1295 |
| ab_bat_speed_avg | 72.3 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 104.9 |
| ab_hit_distance_sc_max | 72.0 |
| ab_release_speed_max | 94.8 |
| ab_release_spin_rate_max | 2686.0 |
| ab_release_speed_min | 85.0 |
| ab_release_spin_rate_min | 2550.0 |
| ab_delta_run_exp_sum | -0.259 |
| ab_delta_home_win_exp_sum | -0.046 |
| ab_delta_pitcher_run_exp_sum | 0.259 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.145 | 0.000 | 0.000 | Hitting_2B | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_3B | 0.017 | 0.000 | 0.000 | Hitting_3B | 0.017 | 0.000 | -0.017 | 0.000 |
| predicted_AB | 3.940 | 3.000 | 9.000 | Hitting_AB | 3.694 | 3.000 | -0.694 | 0.000 |
| predicted_AVG | 0.230 | 0.333 | 0.222 | Hitting_AVG | 0.233 | 0.333 | 0.101 | 0.000 |
| predicted_BB | 0.697 | 1.000 | 2.000 | Hitting_BB | 0.698 | 2.000 | 0.302 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.910 | 1.000 | 2.000 | Hitting_H | 0.860 | 1.000 | 0.140 | 0.000 |
| predicted_HR | 0.190 | 0.000 | 0.000 | Hitting_HR | 0.234 | 0.000 | -0.234 | 0.000 |
| predicted_OBP | 0.336 | 0.500 | 0.364 | Hitting_OBP | 0.365 | 0.600 | 0.135 | -0.100 |
| predicted_R | 0.786 | 1.000 | 2.000 | Hitting_R | 0.783 | 2.000 | 0.217 | -1.000 |
| predicted_RBI | 0.560 | 0.000 | 1.000 | Hitting_RBI | 0.600 | 0.000 | -0.600 | 0.000 |
| predicted_SLG | 0.441 | 0.333 | 0.222 | Hitting_SLG | 0.471 | 0.333 | -0.138 | 0.000 |
| predicted_SO | 0.752 | 1.000 | 2.000 | Hitting_SO | 0.749 | 2.000 | 0.251 | -1.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_BB: 0.6970 -> 1.0000 (boost 0.3030, 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.9400 -> 9.3416 (boost 5.4016, 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.3523 -> 0.3631 (boost 0.0108, 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.9259 -> 2.0000 (boost 0.0741, better) | predicted_HR: 0.5033 -> 0.0000 (deboost -0.5033, worse) | AB rounded to 9 (raw=9.34), rates preserved: AVG=0.232 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 2.1234 -> 2.0000 (deboost -0.1234, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4371 -> 0.2220 (deboost -0.2151, 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: 9.0000 -> 3.0000 (deboost -6.0000, worse) | Attached simulation box score without overwriting model prediction |
| 8 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_SLG: 0.2220 -> 0.4371 (boost 0.2151, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678246",
"player_name": "Miguel Vargas",
"position": "3B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.145,
"predicted_3B": 0.017,
"predicted_AB": 3.94,
"predicted_AVG": 0.23,
"predicted_BB": 0.697,
"predicted_H": 0.91,
"predicted_HR": 0.19,
"predicted_OBP": 0.336,
"predicted_R": 0.786,
"predicted_RBI": 0.56,
"predicted_SLG": 0.441,
"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.3306,
"predicted_3B": 0.0387,
"predicted_AB": 9.3416,
"predicted_AVG": 0.2312,
"predicted_BB": 1.9296,
"predicted_H": 2.1705,
"predicted_HBP": 0.356,
"predicted_HR": 0.5011,
"predicted_OBP": 0.3523,
"predicted_R": 2.1375,
"predicted_RBI": 1.3339,
"predicted_SLG": 0.4414,
"predicted_SO": 2.1313
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.3306,
"delta": 0.1856,
"percent_delta": 1.28,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.017,
"after": 0.0387,
"delta": 0.0217,
"percent_delta": 1.2765,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.94,
"after": 9.3416,
"delta": 5.4016,
"percent_delta": 1.371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2312,
"delta": 0.0012,
"percent_delta": 0.0052,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.697,
"after": 1.9296,
"delta": 1.2326,
"percent_delta": 1.7684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 2.1705,
"delta": 1.2605,
"percent_delta": 1.3852,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.5011,
"delta": 0.3111,
"percent_delta": 1.6374,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3523,
"delta": 0.0163,
"percent_delta": 0.0485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.786,
"after": 2.1375,
"delta": 1.3515,
"percent_delta": 1.7195,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.56,
"after": 1.3339,
"delta": 0.7739,
"percent_delta": 1.382,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4414,
"delta": 0.0004,
"percent_delta": 0.0009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 2.1313,
"delta": 1.3793,
"percent_delta": 1.8342,
"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.94,
"after": 9.3416,
"delta": 5.4016,
"percent_delta": 1.371,
"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": 1,
"last_10": 2,
"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.3306,
"predicted_3B": 0.0387,
"predicted_AB": 9.3416,
"predicted_AVG": 0.2318,
"predicted_BB": 1.9259,
"predicted_H": 2.1653,
"predicted_HBP": 0.356,
"predicted_HR": 0.5033,
"predicted_OBP": 0.3631,
"predicted_R": 2.1234,
"predicted_RBI": 1.3251,
"predicted_SLG": 0.4371,
"predicted_SO": 2.1353
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3306,
"after": 0.3306,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0387,
"after": 0.0387,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.3416,
"after": 9.3416,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2312,
"after": 0.2318,
"delta": 0.0006,
"percent_delta": 0.0026,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.9296,
"after": 1.9259,
"delta": -0.0037,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1705,
"after": 2.1653,
"delta": -0.0052,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.356,
"after": 0.356,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5011,
"after": 0.5033,
"delta": 0.0022,
"percent_delta": 0.0044,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3523,
"after": 0.3631,
"delta": 0.0108,
"percent_delta": 0.0307,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.1375,
"after": 2.1234,
"delta": -0.0141,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3339,
"after": 1.3251,
"delta": -0.0088,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4414,
"after": 0.4371,
"delta": -0.0043,
"percent_delta": -0.0097,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.1313,
"after": 2.1353,
"delta": 0.004,
"percent_delta": 0.0019,
"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.3523,
"after": 0.3631,
"delta": 0.0108,
"percent_delta": 0.0307,
"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=9.34), rates preserved: AVG=0.232 HR/AB=0.054",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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.3306,
"after": 0.0,
"delta": -0.3306,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0387,
"after": 0.0,
"delta": -0.0387,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 9.3416,
"after": 9.0,
"delta": -0.3416,
"percent_delta": -0.0366,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.9259,
"after": 2.0,
"delta": 0.0741,
"percent_delta": 0.0385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1653,
"after": 2.0,
"delta": -0.1653,
"percent_delta": -0.0763,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5033,
"after": 0.0,
"delta": -0.5033,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3251,
"after": 1.0,
"delta": -0.3251,
"percent_delta": -0.2453,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1353,
"after": 2.0,
"delta": -0.1353,
"percent_delta": -0.0634,
"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.9259,
"after": 2.0,
"delta": 0.0741,
"percent_delta": 0.0385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.5033,
"after": 0.0,
"delta": -0.5033,
"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": 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": 9.0,
"after": 9.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": 2.1234,
"after": 2.0,
"delta": -0.1234,
"percent_delta": -0.0581,
"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": 2.1234,
"after": 2.0,
"delta": -0.1234,
"percent_delta": -0.0581,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"predicted_R": 2.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.2318,
"after": 0.222,
"delta": -0.0098,
"percent_delta": -0.0423,
"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.3631,
"after": 0.364,
"delta": 0.0009,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.4371,
"after": 0.222,
"delta": -0.2151,
"percent_delta": -0.4921,
"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.4371,
"after": 0.222,
"delta": -0.2151,
"percent_delta": -0.4921,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"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": 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.2318,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3631,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4371,
"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.2318,
"delta": 0.0098,
"percent_delta": 0.0441,
"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.364,
"after": 0.3631,
"delta": -0.0009,
"percent_delta": -0.0025,
"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.222,
"after": 0.4371,
"delta": 0.2151,
"percent_delta": 0.9688,
"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.4371,
"delta": 0.2151,
"percent_delta": 0.9688,
"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.145,
"after": 0.0,
"delta": -0.145,
"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.94,
"after": 3.0,
"delta": -0.94,
"percent_delta": -0.2386,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2318,
"delta": 0.0018,
"percent_delta": 0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.697,
"after": 1.0,
"delta": 0.303,
"percent_delta": 0.4347,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.91,
"after": 1.0,
"delta": 0.09,
"percent_delta": 0.0989,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.19,
"after": 0.0,
"delta": -0.19,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.336,
"after": 0.3631,
"delta": 0.0271,
"percent_delta": 0.0807,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.786,
"after": 1.0,
"delta": 0.214,
"percent_delta": 0.2723,
"direction": "boost",
"projection_effect": "better",
"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.441,
"after": 0.4371,
"delta": -0.0039,
"percent_delta": -0.0088,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.752,
"after": 1.0,
"delta": 0.248,
"percent_delta": 0.3298,
"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_BB",
"before": 0.697,
"after": 1.0,
"delta": 0.303,
"percent_delta": 0.4347,
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.145 | - |
| predicted_3B | 0.017 | - |
| predicted_AB | 3.940 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.697 | - |
| predicted_H | 0.910 | - |
| predicted_HR | 0.190 | - |
| predicted_OBP | 0.336 | - |
| predicted_R | 0.786 | - |
| predicted_RBI | 0.560 | - |
| predicted_SLG | 0.441 | - |
| 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.331 | 0.186 |
| predicted_3B | 0.039 | 0.022 |
| predicted_AB | 9.342 | 5.402 |
| predicted_AVG | 0.231 | 0.001 |
| predicted_BB | 1.930 | 1.233 |
| predicted_H | 2.171 | 1.260 |
| predicted_HBP | 0.356 | - |
| predicted_HR | 0.501 | 0.311 |
| predicted_OBP | 0.352 | 0.016 |
| predicted_R | 2.138 | 1.352 |
| predicted_RBI | 1.334 | 0.774 |
| predicted_SLG | 0.441 | 0.000 |
| predicted_SO | 2.131 | 1.379 |
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.039 | 0.000 |
| predicted_AB | 9.342 | 0.000 |
| predicted_AVG | 0.232 | 0.001 |
| predicted_BB | 1.926 | -0.004 |
| predicted_H | 2.165 | -0.005 |
| predicted_HBP | 0.356 | 0.000 |
| predicted_HR | 0.503 | 0.002 |
| predicted_OBP | 0.363 | 0.011 |
| predicted_R | 2.123 | -0.014 |
| predicted_RBI | 1.325 | -0.009 |
| predicted_SLG | 0.437 | -0.004 |
| predicted_SO | 2.135 | 0.004 |
AB rounded to 9 (raw=9.34), rates preserved: AVG=0.232 HR/AB=0.054
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.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 | 9.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.331 |
| predicted_3B | 0.000 | -0.039 |
| predicted_AB | 9.000 | -0.342 |
| predicted_AVG | 0.222 | -0.010 |
| predicted_BB | 2.000 | 0.074 |
| predicted_H | 2.000 | -0.165 |
| predicted_HR | 0.000 | -0.503 |
| predicted_OBP | 0.364 | 0.001 |
| predicted_R | 2.000 | -0.123 |
| predicted_RBI | 1.000 | -0.325 |
| predicted_SLG | 0.222 | -0.215 |
| predicted_SO | 2.000 | -0.135 |
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 | -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 | -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 | 1 | - | 15.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.000 | 10.000 | 10.000 | 0.3333 | 0.6000 | 0.3333 | 0.3333 | 0.0000 | 0.0000 | 0.6667 | 0.6667 |
| last_10 | 0.20 | 2 | - | 40.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.000 | 10.000 | 15.000 | 0.1250 | 0.3000 | 0.1250 | 0.1250 | 0.0000 | 0.0000 | 0.2500 | 0.3750 |
| season | 0.60 | 53 | - | 868.000 | 202.000 | 34.000 | 4.000 | 55.000 | 141.000 | 184.000 | 163.000 | 176.000 | 0.2327 | 0.3644 | 0.4712 | 0.2327 | 0.0634 | 0.1624 | 0.1878 | 0.2028 |
| Metric | Value |
|---|---|
| predicted_2B | 0.5650 |
| predicted_3B | 0.0660 |
| predicted_AB | 16.1620 |
| predicted_AVG | 0.2328 |
| predicted_BB | 3.4860 |
| predicted_H | 3.7620 |
| predicted_HBP | 0.3560 |
| predicted_HR | 0.8940 |
| predicted_OBP | 0.3728 |
| predicted_R | 3.8440 |
| predicted_RBI | 2.3110 |
| predicted_SLG | 0.4418 |
| predicted_SO | 3.8730 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.5650 | 0.3306 | model_form_blend |
| predicted_3B | 0.0170 | 0.0660 | 0.0387 | model_form_blend |
| predicted_AB | 3.9400 | 16.1620 | 9.3416 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2328 | 0.2312 | model_form_blend |
| predicted_BB | 0.6970 | 3.4860 | 1.9296 | model_form_blend |
| predicted_H | 0.9100 | 3.7620 | 2.1705 | model_form_blend |
| predicted_HBP | - | 0.3560 | 0.3560 | form_only |
| predicted_HR | 0.1900 | 0.8940 | 0.5011 | model_form_blend |
| predicted_OBP | 0.3360 | 0.3728 | 0.3523 | model_form_blend |
| predicted_R | 0.7860 | 3.8440 | 2.1375 | model_form_blend |
| predicted_RBI | 0.5600 | 2.3110 | 1.3339 | model_form_blend |
| predicted_SLG | 0.4410 | 0.4418 | 0.4414 | model_form_blend |
| predicted_SO | 0.7520 | 3.8730 | 2.1313 | 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 | 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 | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.233 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 2 |
| 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 | 1B |
| gameID | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 678246 |
| playerID | 678246 |
| playerName | Miguel Vargas |
| pos | 3B |
| started | True |
| startingPosition | 1B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 16.5 |
| sl_bb_percent | 14.8 |
| sl_woba | 0.369 |
| sl_xwoba | 0.392 |
| sl_xba | 0.252 |
| sl_xslg | 0.529 |
| sl_sweet_spot_percent | 39.2 |
| sl_barrel_batted_rate | 15.0 |
| sl_hard_hit_percent | 45.1 |
| sl_exit_velocity_avg | 90.0 |
| sl_launch_angle_avg | 20.8 |
| sl_whiff_percent | 19.3 |
| sl_swing_percent | 43.3 |
| at_bat_number | 61.0 |
| ab_pitcher | 701519.0 |
| ab_pitcher_name | Adams, Travis |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 14.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 14.0 |
| ab_fld_score_start | 1.0 |
| ab_event | walk |
| ab_event_description | Miguel Vargas walks. |
| ab_event_type | B |
| ab_pitch_type_last | FC |
| ab_pitch_name_last | Cutter |
| ab_zone_last | 14.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 14.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 14.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 92.62 |
| ab_release_spin_rate_avg | 2530.6 |
| ab_effective_speed_avg | 93.16 |
| ab_delta_run_exp_avg | 0.0822 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.0822 |
| ab_release_speed_max | 94.6 |
| ab_release_spin_rate_max | 2664.0 |
| ab_release_speed_min | 90.6 |
| ab_release_spin_rate_min | 2358.0 |
| ab_delta_run_exp_sum | 0.411 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -0.411 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.064 | 0.000 | 0.000 | Hitting_2B | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.990 | 4.000 | 9.000 | Hitting_AB | 3.653 | 4.000 | 0.347 | 0.000 |
| predicted_AVG | 0.231 | 0.250 | 0.222 | Hitting_AVG | 0.246 | 0.500 | 0.004 | -0.250 |
| predicted_BB | 0.809 | 0.000 | 2.000 | Hitting_BB | 0.809 | 1.000 | -0.809 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.920 | 1.000 | 2.000 | Hitting_H | 0.898 | 2.000 | 0.102 | -1.000 |
| predicted_HR | 0.300 | 0.000 | 1.000 | Hitting_HR | 0.394 | 1.000 | -0.394 | -1.000 |
| predicted_OBP | 0.337 | 0.250 | 0.364 | Hitting_OBP | 0.384 | 0.600 | -0.134 | -0.350 |
| predicted_R | 0.843 | 1.000 | 2.000 | Hitting_R | 0.843 | 3.000 | 0.157 | -2.000 |
| predicted_RBI | 0.670 | 0.000 | 2.000 | Hitting_RBI | 0.775 | 1.000 | -0.775 | -1.000 |
| predicted_SLG | 0.499 | 0.250 | 0.556 | Hitting_SLG | 0.587 | 1.250 | -0.337 | -1.000 |
| predicted_SO | 1.428 | 1.000 | 3.000 | Hitting_SO | 1.428 | 1.000 | -0.428 | 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_R: 0.8430 -> 1.0000 (boost 0.1570, better) |
| Biggest Deboost | predicted_BB: 0.8090 -> 0.0000 (deboost -0.8090, 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 -> 9.2917 (boost 5.3017, 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.5629 -> 0.6034 (boost 0.0405, 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_RBI: 1.9094 -> 2.0000 (boost 0.0906, better) | predicted_SO: 3.4074 -> 3.0000 (deboost -0.4074, better) | AB rounded to 9 (raw=9.29), rates preserved: AVG=0.257 HR/AB=0.110 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 2.4066 -> 2.0000 (deboost -0.4066, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6034 -> 0.5560 (deboost -0.0474, 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: 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.5560 -> 0.6034 (boost 0.0474, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "808959",
"player_name": "Munetaka Murakami",
"position": "1B",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.064,
"predicted_3B": 0.0,
"predicted_AB": 3.99,
"predicted_AVG": 0.231,
"predicted_BB": 0.809,
"predicted_H": 0.92,
"predicted_HR": 0.3,
"predicted_OBP": 0.337,
"predicted_R": 0.843,
"predicted_RBI": 0.67,
"predicted_SLG": 0.499,
"predicted_SO": 1.428
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.1506,
"predicted_3B": 0.0009,
"predicted_AB": 9.2917,
"predicted_AVG": 0.2462,
"predicted_BB": 1.9559,
"predicted_H": 2.3899,
"predicted_HBP": 0.084,
"predicted_HR": 1.0191,
"predicted_OBP": 0.3629,
"predicted_R": 2.4226,
"predicted_RBI": 1.9221,
"predicted_SLG": 0.5629,
"predicted_SO": 3.4009
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.064,
"after": 0.1506,
"delta": 0.0866,
"percent_delta": 1.3531,
"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.99,
"after": 9.2917,
"delta": 5.3017,
"percent_delta": 1.3287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2462,
"delta": 0.0152,
"percent_delta": 0.0658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.809,
"after": 1.9559,
"delta": 1.1469,
"percent_delta": 1.4177,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 2.3899,
"delta": 1.4699,
"percent_delta": 1.5977,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3,
"after": 1.0191,
"delta": 0.7191,
"percent_delta": 2.397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3629,
"delta": 0.0259,
"percent_delta": 0.0769,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.843,
"after": 2.4226,
"delta": 1.5796,
"percent_delta": 1.8738,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.67,
"after": 1.9221,
"delta": 1.2521,
"percent_delta": 1.8688,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.499,
"after": 0.5629,
"delta": 0.0639,
"percent_delta": 0.1281,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.428,
"after": 3.4009,
"delta": 1.9729,
"percent_delta": 1.3816,
"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": 9.2917,
"delta": 5.3017,
"percent_delta": 1.3287,
"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": 1,
"last_10": 2,
"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.1506,
"predicted_3B": 0.0009,
"predicted_AB": 9.2917,
"predicted_AVG": 0.2566,
"predicted_BB": 1.9522,
"predicted_H": 2.3842,
"predicted_HBP": 0.084,
"predicted_HR": 1.0235,
"predicted_OBP": 0.3857,
"predicted_R": 2.4066,
"predicted_RBI": 1.9094,
"predicted_SLG": 0.6034,
"predicted_SO": 3.4074
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1506,
"after": 0.1506,
"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": 9.2917,
"after": 9.2917,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2462,
"after": 0.2566,
"delta": 0.0104,
"percent_delta": 0.0422,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.9559,
"after": 1.9522,
"delta": -0.0037,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3899,
"after": 2.3842,
"delta": -0.0057,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.084,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 1.0191,
"after": 1.0235,
"delta": 0.0044,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3629,
"after": 0.3857,
"delta": 0.0228,
"percent_delta": 0.0628,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 2.4226,
"after": 2.4066,
"delta": -0.016,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.9221,
"after": 1.9094,
"delta": -0.0127,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5629,
"after": 0.6034,
"delta": 0.0405,
"percent_delta": 0.0719,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.4009,
"after": 3.4074,
"delta": 0.0065,
"percent_delta": 0.0019,
"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.5629,
"after": 0.6034,
"delta": 0.0405,
"percent_delta": 0.0719,
"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=9.29), rates preserved: AVG=0.257 HR/AB=0.110",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_BB": 2.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.1506,
"after": 0.0,
"delta": -0.1506,
"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": 9.2917,
"after": 9.0,
"delta": -0.2917,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.9522,
"after": 2.0,
"delta": 0.0478,
"percent_delta": 0.0245,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3842,
"after": 2.0,
"delta": -0.3842,
"percent_delta": -0.1611,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 1.0235,
"after": 1.0,
"delta": -0.0235,
"percent_delta": -0.023,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.9094,
"after": 2.0,
"delta": 0.0906,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.4074,
"after": 3.0,
"delta": -0.4074,
"percent_delta": -0.1196,
"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_RBI",
"before": 1.9094,
"after": 2.0,
"delta": 0.0906,
"percent_delta": 0.0474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 3.4074,
"after": 3.0,
"delta": -0.4074,
"percent_delta": -0.1196,
"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": 9.0,
"predicted_BB": 2.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": 9.0,
"after": 9.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": 2.4066,
"after": 2.0,
"delta": -0.4066,
"percent_delta": -0.169,
"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": 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": 2.4066,
"after": 2.0,
"delta": -0.4066,
"percent_delta": -0.169,
"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": 2.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.364,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.556,
"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.2566,
"after": 0.222,
"delta": -0.0346,
"percent_delta": -0.1348,
"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.3857,
"after": 0.364,
"delta": -0.0217,
"percent_delta": -0.0563,
"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.6034,
"after": 0.556,
"delta": -0.0474,
"percent_delta": -0.0786,
"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.6034,
"after": 0.556,
"delta": -0.0474,
"percent_delta": -0.0786,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 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": 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": 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": 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": 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.2566,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_FB": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3857,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.6034,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2566,
"delta": 0.0346,
"percent_delta": 0.1558,
"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.364,
"after": 0.3857,
"delta": 0.0217,
"percent_delta": 0.0595,
"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.556,
"after": 0.6034,
"delta": 0.0474,
"percent_delta": 0.0853,
"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.556,
"after": 0.6034,
"delta": 0.0474,
"percent_delta": 0.0853,
"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.064,
"after": 0.0,
"delta": -0.064,
"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.99,
"after": 4.0,
"delta": 0.01,
"percent_delta": 0.0025,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.231,
"after": 0.2566,
"delta": 0.0256,
"percent_delta": 0.1108,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.809,
"after": 0.0,
"delta": -0.809,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.92,
"after": 1.0,
"delta": 0.08,
"percent_delta": 0.087,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3,
"after": 0.0,
"delta": -0.3,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3857,
"delta": 0.0487,
"percent_delta": 0.1445,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.843,
"after": 1.0,
"delta": 0.157,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "better",
"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.499,
"after": 0.6034,
"delta": 0.1044,
"percent_delta": 0.2092,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.428,
"after": 1.0,
"delta": -0.428,
"percent_delta": -0.2997,
"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_R",
"before": 0.843,
"after": 1.0,
"delta": 0.157,
"percent_delta": 0.1862,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.809,
"after": 0.0,
"delta": -0.809,
"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.064 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.990 | - |
| predicted_AVG | 0.231 | - |
| predicted_BB | 0.809 | - |
| predicted_H | 0.920 | - |
| predicted_HR | 0.300 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.843 | - |
| predicted_RBI | 0.670 | - |
| predicted_SLG | 0.499 | - |
| predicted_SO | 1.428 | - |
Final model 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.087 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.292 | 5.302 |
| predicted_AVG | 0.246 | 0.015 |
| predicted_BB | 1.956 | 1.147 |
| predicted_H | 2.390 | 1.470 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 1.019 | 0.719 |
| predicted_OBP | 0.363 | 0.026 |
| predicted_R | 2.423 | 1.580 |
| predicted_RBI | 1.922 | 1.252 |
| predicted_SLG | 0.563 | 0.064 |
| predicted_SO | 3.401 | 1.973 |
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.001 | 0.000 |
| predicted_AB | 9.292 | 0.000 |
| predicted_AVG | 0.257 | 0.010 |
| predicted_BB | 1.952 | -0.004 |
| predicted_H | 2.384 | -0.006 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 1.024 | 0.004 |
| predicted_OBP | 0.386 | 0.023 |
| predicted_R | 2.407 | -0.016 |
| predicted_RBI | 1.909 | -0.013 |
| predicted_SLG | 0.603 | 0.041 |
| predicted_SO | 3.407 | 0.006 |
AB rounded to 9 (raw=9.29), rates preserved: AVG=0.257 HR/AB=0.110
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 9.000 | - |
| BB | 2.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 | 9.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 | 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.151 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.292 |
| predicted_AVG | 0.222 | -0.035 |
| predicted_BB | 2.000 | 0.048 |
| predicted_H | 2.000 | -0.384 |
| predicted_HR | 1.000 | -0.024 |
| predicted_OBP | 0.364 | -0.022 |
| predicted_R | 2.000 | -0.407 |
| predicted_RBI | 2.000 | 0.091 |
| predicted_SLG | 0.556 | -0.047 |
| predicted_SO | 3.000 | -0.407 |
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 | -2.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 | 0.000 | -2.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 | 1 | - | 20.000 | 10.000 | 0.000 | 0.000 | 5.000 | 5.000 | 15.000 | 5.000 | 5.000 | 0.5000 | 0.6000 | 1.2500 | 0.5000 | 0.2500 | 0.2500 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 2 | - | 45.000 | 15.000 | 0.000 | 0.000 | 10.000 | 15.000 | 25.000 | 5.000 | 10.000 | 0.3333 | 0.4000 | 1.0000 | 0.3333 | 0.2222 | 0.3333 | 0.1111 | 0.2222 |
| season | 0.60 | 55 | - | 862.000 | 212.000 | 15.000 | 0.000 | 93.000 | 183.000 | 199.000 | 191.000 | 337.000 | 0.2459 | 0.3842 | 0.5870 | 0.2459 | 0.1079 | 0.2123 | 0.2216 | 0.3910 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2600 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.9860 |
| predicted_AVG | 0.2655 |
| predicted_BB | 3.4040 |
| predicted_H | 4.2460 |
| predicted_HBP | 0.0840 |
| predicted_HR | 1.9270 |
| predicted_OBP | 0.3955 |
| predicted_R | 4.4170 |
| predicted_RBI | 3.5030 |
| predicted_SLG | 0.6436 |
| predicted_SO | 5.8920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0640 | 0.2600 | 0.1506 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9900 | 15.9860 | 9.2917 | model_form_blend |
| predicted_AVG | 0.2310 | 0.2655 | 0.2462 | model_form_blend |
| predicted_BB | 0.8090 | 3.4040 | 1.9559 | model_form_blend |
| predicted_H | 0.9200 | 4.2460 | 2.3899 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.3000 | 1.9270 | 1.0191 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3955 | 0.3629 | model_form_blend |
| predicted_R | 0.8430 | 4.4170 | 2.4226 | model_form_blend |
| predicted_RBI | 0.6700 | 3.5030 | 1.9221 | model_form_blend |
| predicted_SLG | 0.4990 | 0.6436 | 0.5629 | model_form_blend |
| predicted_SO | 1.4280 | 5.8920 | 3.4009 | 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 | 236 |
| 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.246 |
| 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.5 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 3 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 5 |
| 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 808959 |
| playerID | 808959 |
| playerName | Munetaka Murakami |
| pos | IF |
| started | True |
| startingPosition | DH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 32.8 |
| sl_bb_percent | 17.4 |
| sl_woba | 0.394 |
| sl_xwoba | 0.375 |
| sl_xba | 0.218 |
| sl_xslg | 0.525 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 20.7 |
| sl_hard_hit_percent | 57.8 |
| sl_exit_velocity_avg | 94.1 |
| sl_launch_angle_avg | 14.0 |
| sl_whiff_percent | 42.3 |
| sl_swing_percent | 41.9 |
| at_bat_number | 60.0 |
| ab_pitcher | 701519.0 |
| ab_pitcher_name | Adams, Travis |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 13.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 13.0 |
| ab_fld_score_start | 1.0 |
| ab_event | home_run |
| ab_event_description | Munetaka Murakami homers (20) on a fly ball to left center field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 7.0 |
| ab_launch_speed_last | 108.3 |
| ab_launch_angle_last | 24.0 |
| ab_hit_distance_last | 432.0 |
| ab_estimated_ba_last | 0.977 |
| ab_estimated_woba_last | 1.915 |
| ab_estimated_slg_last | 3.71 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 14.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 14.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 90.325 |
| ab_release_spin_rate_avg | 2375.0 |
| ab_effective_speed_avg | 90.875 |
| ab_launch_speed_avg | 108.3 |
| ab_launch_angle_avg | 24.0 |
| ab_delta_run_exp_avg | 0.39575 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.39575 |
| ab_bat_speed_avg | 77.7 |
| ab_swing_length_avg | 8.649999999999999 |
| ab_launch_speed_max | 108.3 |
| ab_hit_distance_sc_max | 432.0 |
| ab_release_speed_max | 94.9 |
| ab_release_spin_rate_max | 2456.0 |
| ab_release_speed_min | 86.1 |
| ab_release_spin_rate_min | 2287.0 |
| ab_delta_run_exp_sum | 1.583 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -1.583 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.204 | 0.000 | 1.000 | Hitting_2B | 0.204 | 1.000 | -0.204 | -1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.850 | 4.000 | 9.000 | Hitting_AB | 3.769 | 5.000 | 0.231 | -1.000 |
| predicted_AVG | 0.227 | 0.000 | 0.222 | Hitting_AVG | 0.232 | 0.400 | -0.232 | -0.400 |
| 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.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 0.870 | 0.000 | 2.000 | Hitting_H | 0.876 | 2.000 | -0.876 | -2.000 |
| predicted_HR | 0.150 | 0.000 | 0.000 | Hitting_HR | 0.253 | 0.000 | -0.253 | 0.000 |
| predicted_OBP | 0.320 | 0.000 | 0.300 | Hitting_OBP | 0.330 | 0.400 | -0.330 | -0.400 |
| predicted_R | 0.502 | 0.000 | 1.000 | Hitting_R | 0.502 | 1.000 | -0.502 | -1.000 |
| predicted_RBI | 0.480 | 0.000 | 1.000 | Hitting_RBI | 0.658 | 1.000 | -0.658 | -1.000 |
| predicted_SLG | 0.404 | 0.000 | 0.333 | Hitting_SLG | 0.488 | 0.600 | -0.488 | -0.600 |
| predicted_SO | 1.289 | 1.000 | 3.000 | Hitting_SO | 1.289 | 1.000 | -0.289 | 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.8500 -> 4.0000 (boost 0.1500, better) |
| Biggest Deboost | predicted_H: 0.8700 -> 0.0000 (deboost -0.8700, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.8500 -> 9.3926 (boost 5.5426, 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.4457 -> 0.4752 (boost 0.0295, better) | predicted_OBP: 0.3278 -> 0.3092 (deboost -0.0186, 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_2B: 0.6263 -> 1.0000 (boost 0.3737, better) | predicted_HBP: 0.6170 -> 0.0000 (deboost -0.6170, worse) | AB rounded to 9 (raw=9.39), rates preserved: AVG=0.245 HR/AB=0.054 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2496 -> 1.0000 (deboost -0.2496, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4752 -> 0.3330 (deboost -0.1422, 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: 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.3330 -> 0.4752 (boost 0.1422, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "695657",
"player_name": "Colson Montgomery",
"position": "SS",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.204,
"predicted_3B": 0.0,
"predicted_AB": 3.85,
"predicted_AVG": 0.227,
"predicted_BB": 0.387,
"predicted_H": 0.87,
"predicted_HR": 0.15,
"predicted_OBP": 0.32,
"predicted_R": 0.502,
"predicted_RBI": 0.48,
"predicted_SLG": 0.404,
"predicted_SO": 1.289
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.6263,
"predicted_3B": 0.0009,
"predicted_AB": 9.3926,
"predicted_AVG": 0.238,
"predicted_BB": 0.8688,
"predicted_H": 2.3107,
"predicted_HBP": 0.617,
"predicted_HR": 0.5079,
"predicted_OBP": 0.3278,
"predicted_R": 1.2579,
"predicted_RBI": 1.5024,
"predicted_SLG": 0.4457,
"predicted_SO": 3.0942
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.204,
"after": 0.6263,
"delta": 0.4223,
"percent_delta": 2.0701,
"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.85,
"after": 9.3926,
"delta": 5.5426,
"percent_delta": 1.4396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.238,
"delta": 0.011,
"percent_delta": 0.0485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.387,
"after": 0.8688,
"delta": 0.4818,
"percent_delta": 1.245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.87,
"after": 2.3107,
"delta": 1.4407,
"percent_delta": 1.656,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.5079,
"delta": 0.3579,
"percent_delta": 2.386,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.32,
"after": 0.3278,
"delta": 0.0078,
"percent_delta": 0.0244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.502,
"after": 1.2579,
"delta": 0.7559,
"percent_delta": 1.5058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.48,
"after": 1.5024,
"delta": 1.0224,
"percent_delta": 2.13,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4457,
"delta": 0.0417,
"percent_delta": 0.1032,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.289,
"after": 3.0942,
"delta": 1.8052,
"percent_delta": 1.4005,
"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.85,
"after": 9.3926,
"delta": 5.5426,
"percent_delta": 1.4396,
"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": 1,
"last_10": 2,
"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.6263,
"predicted_3B": 0.0009,
"predicted_AB": 9.3926,
"predicted_AVG": 0.2454,
"predicted_BB": 0.8671,
"predicted_H": 2.3052,
"predicted_HBP": 0.617,
"predicted_HR": 0.5101,
"predicted_OBP": 0.3092,
"predicted_R": 1.2496,
"predicted_RBI": 1.4925,
"predicted_SLG": 0.4752,
"predicted_SO": 3.1001
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6263,
"after": 0.6263,
"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": 9.3926,
"after": 9.3926,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.238,
"after": 0.2454,
"delta": 0.0074,
"percent_delta": 0.0311,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8688,
"after": 0.8671,
"delta": -0.0017,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3107,
"after": 2.3052,
"delta": -0.0055,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.617,
"after": 0.617,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5079,
"after": 0.5101,
"delta": 0.0022,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.3092,
"delta": -0.0186,
"percent_delta": -0.0567,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2579,
"after": 1.2496,
"delta": -0.0083,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5024,
"after": 1.4925,
"delta": -0.0099,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4457,
"after": 0.4752,
"delta": 0.0295,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0942,
"after": 3.1001,
"delta": 0.0059,
"percent_delta": 0.0019,
"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.4457,
"after": 0.4752,
"delta": 0.0295,
"percent_delta": 0.0662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3278,
"after": 0.3092,
"delta": -0.0186,
"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=9.39), rates preserved: AVG=0.245 HR/AB=0.054",
"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": 3.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6263,
"after": 1.0,
"delta": 0.3737,
"percent_delta": 0.5967,
"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": 9.3926,
"after": 9.0,
"delta": -0.3926,
"percent_delta": -0.0418,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8671,
"after": 1.0,
"delta": 0.1329,
"percent_delta": 0.1533,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3052,
"after": 2.0,
"delta": -0.3052,
"percent_delta": -0.1324,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.617,
"after": 0.0,
"delta": -0.617,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5101,
"after": 0.0,
"delta": -0.5101,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.4925,
"after": 1.0,
"delta": -0.4925,
"percent_delta": -0.33,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.1001,
"after": 3.0,
"delta": -0.1001,
"percent_delta": -0.0323,
"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_2B",
"before": 0.6263,
"after": 1.0,
"delta": 0.3737,
"percent_delta": 0.5967,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.617,
"after": 0.0,
"delta": -0.617,
"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": 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": 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": 1.2496,
"after": 1.0,
"delta": -0.2496,
"percent_delta": -0.1997,
"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.2496,
"after": 1.0,
"delta": -0.2496,
"percent_delta": -0.1997,
"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": 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": 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": 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.2454,
"after": 0.222,
"delta": -0.0234,
"percent_delta": -0.0954,
"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.3092,
"after": 0.3,
"delta": -0.0092,
"percent_delta": -0.0298,
"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.4752,
"after": 0.333,
"delta": -0.1422,
"percent_delta": -0.2992,
"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.4752,
"after": 0.333,
"delta": -0.1422,
"percent_delta": -0.2992,
"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": 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": 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": 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.2454,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3092,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4752,
"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.222,
"after": 0.2454,
"delta": 0.0234,
"percent_delta": 0.1055,
"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.3,
"after": 0.3092,
"delta": 0.0092,
"percent_delta": 0.0307,
"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.4752,
"delta": 0.1422,
"percent_delta": 0.4271,
"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.333,
"after": 0.4752,
"delta": 0.1422,
"percent_delta": 0.4271,
"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.204,
"after": 0.0,
"delta": -0.204,
"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.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2454,
"delta": 0.0184,
"percent_delta": 0.0811,
"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.87,
"after": 0.0,
"delta": -0.87,
"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.32,
"after": 0.3092,
"delta": -0.0108,
"percent_delta": -0.0338,
"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.48,
"after": 0.0,
"delta": -0.48,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4752,
"delta": 0.0712,
"percent_delta": 0.1762,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.289,
"after": 1.0,
"delta": -0.289,
"percent_delta": -0.2242,
"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.85,
"after": 4.0,
"delta": 0.15,
"percent_delta": 0.039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.87,
"after": 0.0,
"delta": -0.87,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.204 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.850 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.387 | - |
| predicted_H | 0.870 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.320 | - |
| predicted_R | 0.502 | - |
| predicted_RBI | 0.480 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 1.289 | - |
Final model 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.626 | 0.422 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.393 | 5.543 |
| predicted_AVG | 0.238 | 0.011 |
| predicted_BB | 0.869 | 0.482 |
| predicted_H | 2.311 | 1.441 |
| predicted_HBP | 0.617 | - |
| predicted_HR | 0.508 | 0.358 |
| predicted_OBP | 0.328 | 0.008 |
| predicted_R | 1.258 | 0.756 |
| predicted_RBI | 1.502 | 1.022 |
| predicted_SLG | 0.446 | 0.042 |
| predicted_SO | 3.094 | 1.805 |
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.626 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.393 | 0.000 |
| predicted_AVG | 0.245 | 0.007 |
| predicted_BB | 0.867 | -0.002 |
| predicted_H | 2.305 | -0.006 |
| predicted_HBP | 0.617 | 0.000 |
| predicted_HR | 0.510 | 0.002 |
| predicted_OBP | 0.309 | -0.019 |
| predicted_R | 1.250 | -0.008 |
| predicted_RBI | 1.492 | -0.010 |
| predicted_SLG | 0.475 | 0.030 |
| predicted_SO | 3.100 | 0.006 |
AB rounded to 9 (raw=9.39), rates preserved: AVG=0.245 HR/AB=0.054
| 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 | 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 | 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 | 1.000 | 0.374 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.393 |
| predicted_AVG | 0.222 | -0.023 |
| predicted_BB | 1.000 | 0.133 |
| predicted_H | 2.000 | -0.305 |
| predicted_HR | 0.000 | -0.510 |
| predicted_OBP | 0.300 | -0.009 |
| predicted_R | 1.000 | -0.250 |
| predicted_RBI | 1.000 | -0.492 |
| predicted_SLG | 0.333 | -0.142 |
| predicted_SO | 3.000 | -0.100 |
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 | -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 | 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 | 1 | - | 25.000 | 10.000 | 5.000 | 0.000 | 0.000 | 5.000 | 5.000 | 0.000 | 5.000 | 0.4000 | 0.4000 | 0.6000 | 0.4000 | 0.0000 | 0.2000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 2 | - | 50.000 | 20.000 | 10.000 | 0.000 | 0.000 | 5.000 | 5.000 | 0.000 | 15.000 | 0.4000 | 0.4000 | 0.6000 | 0.4000 | 0.0000 | 0.1000 | 0.0000 | 0.3000 |
| season | 0.60 | 54 | - | 848.000 | 197.000 | 46.000 | 0.000 | 57.000 | 148.000 | 113.000 | 87.000 | 290.000 | 0.2323 | 0.3302 | 0.4882 | 0.2323 | 0.0672 | 0.1745 | 0.1026 | 0.3420 |
| Metric | Value |
|---|---|
| predicted_2B | 1.1610 |
| predicted_3B | 0.0020 |
| predicted_AB | 16.4110 |
| predicted_AVG | 0.2520 |
| predicted_BB | 1.4790 |
| predicted_H | 4.1350 |
| predicted_HBP | 0.6170 |
| predicted_HR | 0.9610 |
| predicted_OBP | 0.3377 |
| predicted_R | 2.2150 |
| predicted_RBI | 2.7970 |
| predicted_SLG | 0.4985 |
| predicted_SO | 5.3800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2040 | 1.1610 | 0.6263 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8500 | 16.4110 | 9.3926 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2520 | 0.2380 | model_form_blend |
| predicted_BB | 0.3870 | 1.4790 | 0.8688 | model_form_blend |
| predicted_H | 0.8700 | 4.1350 | 2.3107 | model_form_blend |
| predicted_HBP | - | 0.6170 | 0.6170 | form_only |
| predicted_HR | 0.1500 | 0.9610 | 0.5079 | model_form_blend |
| predicted_OBP | 0.3200 | 0.3377 | 0.3278 | model_form_blend |
| predicted_R | 0.5020 | 2.2150 | 1.2579 | model_form_blend |
| predicted_RBI | 0.4800 | 2.7970 | 1.5024 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4985 | 0.4457 | model_form_blend |
| predicted_SO | 1.2890 | 5.3800 | 3.0942 | 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 | 1 |
| 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 | 1 |
| Hitting_3B | 0 |
| Hitting_AB | 5 |
| Hitting_AVG | 0.4 |
| Hitting_BB | 0 |
| Hitting_GIDP | 1 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 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 | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 695657 |
| playerID | 695657 |
| playerName | Colson Montgomery |
| pos | SS |
| started | True |
| startingPosition | 3B |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 30.0 |
| sl_bb_percent | 9.4 |
| sl_woba | 0.346 |
| sl_xwoba | 0.324 |
| sl_xba | 0.211 |
| sl_xslg | 0.434 |
| sl_sweet_spot_percent | 36.2 |
| sl_barrel_batted_rate | 13.4 |
| sl_hard_hit_percent | 42.5 |
| sl_exit_velocity_avg | 89.8 |
| sl_launch_angle_avg | 20.1 |
| sl_whiff_percent | 37.6 |
| sl_swing_percent | 51.3 |
| at_bat_number | 63.0 |
| ab_pitcher | 701519.0 |
| ab_pitcher_name | Adams, Travis |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 678246.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 14.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 14.0 |
| ab_fld_score_start | 1.0 |
| ab_event | strikeout |
| ab_event_description | Colson Montgomery strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 14.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 | 14.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 14.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 87.55 |
| ab_release_spin_rate_avg | 2094.0 |
| ab_effective_speed_avg | 88.025 |
| ab_delta_run_exp_avg | -0.066 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.066 |
| ab_bat_speed_avg | 71.93333333333334 |
| ab_swing_length_avg | 8.933333333333332 |
| ab_release_speed_max | 88.8 |
| ab_release_spin_rate_max | 2166.0 |
| ab_release_speed_min | 86.3 |
| ab_release_spin_rate_min | 2046.0 |
| ab_delta_run_exp_sum | -0.264 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.264 |
| 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.034 | 0.000 | 0.000 | Hitting_2B | 0.033 | 0.000 | -0.033 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.424 | 2.000 | 7.000 | Hitting_AB | 3.285 | 0.000 | -1.285 | 2.000 |
| predicted_AVG | 0.226 | 0.500 | 0.143 | Hitting_AVG | 0.176 | - | 0.324 | - |
| predicted_BB | 0.356 | 0.000 | 1.000 | Hitting_BB | 0.350 | 0.000 | -0.350 | 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.577 | 0.000 | 0.423 | 1.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.041 | 0.000 | -0.041 | 0.000 |
| predicted_OBP | 0.269 | 0.667 | 0.250 | Hitting_OBP | 0.257 | - | 0.410 | - |
| predicted_R | 0.212 | 0.000 | 1.000 | Hitting_R | 0.211 | 0.000 | -0.211 | 0.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.447 | 0.000 | -0.447 | 0.000 |
| predicted_SLG | 0.287 | 0.500 | 0.143 | Hitting_SLG | 0.223 | - | 0.277 | - |
| predicted_SO | 1.025 | 0.000 | 2.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 | 10 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 8 |
| Better Metrics | 3 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_H: 0.6200 -> 1.0000 (boost 0.3800, better) |
| Biggest Deboost | predicted_AB: 3.4240 -> 2.0000 (deboost -1.4240, 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.4240 -> 6.5893 (boost 3.1653, better) | predicted_SLG: 0.2870 -> 0.2626 (deboost -0.0244, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.2626 -> 0.2368 (deboost -0.0258, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 6.5893 -> 7.0000 (boost 0.4107, better) | predicted_H: 1.2132 -> 1.0000 (deboost -0.2132, worse) | AB rounded to 7 (raw=6.59), rates preserved: AVG=0.184 HR/AB=0.014 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6495 -> 1.0000 (boost 0.3505, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.2368 -> 0.1430 (deboost -0.0938, 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 -> 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 | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.2368 (boost 0.0938, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "700337",
"player_name": "Edgar Quero",
"position": "C",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.034,
"predicted_3B": 0.0,
"predicted_AB": 3.424,
"predicted_AVG": 0.226,
"predicted_BB": 0.356,
"predicted_H": 0.62,
"predicted_HR": 0.07,
"predicted_OBP": 0.269,
"predicted_R": 0.212,
"predicted_RBI": 0.41,
"predicted_SLG": 0.287,
"predicted_SO": 1.025
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0673,
"predicted_3B": 0.0013,
"predicted_AB": 6.5893,
"predicted_AVG": 0.2087,
"predicted_BB": 0.8665,
"predicted_H": 1.2161,
"predicted_HBP": 0.085,
"predicted_HR": 0.092,
"predicted_OBP": 0.2753,
"predicted_R": 0.6538,
"predicted_RBI": 1.0229,
"predicted_SLG": 0.2626,
"predicted_SO": 1.8968
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.034,
"after": 0.0673,
"delta": 0.0333,
"percent_delta": 0.9794,
"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.424,
"after": 6.5893,
"delta": 3.1653,
"percent_delta": 0.9244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.2087,
"delta": -0.0173,
"percent_delta": -0.0765,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.8665,
"delta": 0.5105,
"percent_delta": 1.434,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.2161,
"delta": 0.5961,
"percent_delta": 0.9615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.092,
"delta": 0.022,
"percent_delta": 0.3143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.269,
"after": 0.2753,
"delta": 0.0063,
"percent_delta": 0.0234,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.212,
"after": 0.6538,
"delta": 0.4418,
"percent_delta": 2.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.0229,
"delta": 0.6129,
"percent_delta": 1.4949,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2626,
"delta": -0.0244,
"percent_delta": -0.085,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.025,
"after": 1.8968,
"delta": 0.8718,
"percent_delta": 0.8505,
"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.424,
"after": 6.5893,
"delta": 3.1653,
"percent_delta": 0.9244,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2626,
"delta": -0.0244,
"percent_delta": -0.085,
"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": 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.0673,
"predicted_3B": 0.0013,
"predicted_AB": 6.5893,
"predicted_AVG": 0.1841,
"predicted_BB": 0.8649,
"predicted_H": 1.2132,
"predicted_HBP": 0.085,
"predicted_HR": 0.0924,
"predicted_OBP": 0.2788,
"predicted_R": 0.6495,
"predicted_RBI": 1.0161,
"predicted_SLG": 0.2368,
"predicted_SO": 1.9004
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0673,
"after": 0.0673,
"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.5893,
"after": 6.5893,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2087,
"after": 0.1841,
"delta": -0.0246,
"percent_delta": -0.1179,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8665,
"after": 0.8649,
"delta": -0.0016,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.2161,
"after": 1.2132,
"delta": -0.0029,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.085,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.092,
"after": 0.0924,
"delta": 0.0004,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2753,
"after": 0.2788,
"delta": 0.0035,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.6538,
"after": 0.6495,
"delta": -0.0043,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0229,
"after": 1.0161,
"delta": -0.0068,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2626,
"after": 0.2368,
"delta": -0.0258,
"percent_delta": -0.0982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.8968,
"after": 1.9004,
"delta": 0.0036,
"percent_delta": 0.0019,
"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.2626,
"after": 0.2368,
"delta": -0.0258,
"percent_delta": -0.0982,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.59), rates preserved: AVG=0.184 HR/AB=0.014",
"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.0673,
"after": 0.0,
"delta": -0.0673,
"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.5893,
"after": 7.0,
"delta": 0.4107,
"percent_delta": 0.0623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8649,
"after": 1.0,
"delta": 0.1351,
"percent_delta": 0.1562,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.2132,
"after": 1.0,
"delta": -0.2132,
"percent_delta": -0.1757,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.085,
"after": 0.0,
"delta": -0.085,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0924,
"after": 0.0,
"delta": -0.0924,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0161,
"after": 1.0,
"delta": -0.0161,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.9004,
"after": 2.0,
"delta": 0.0996,
"percent_delta": 0.0524,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 6.5893,
"after": 7.0,
"delta": 0.4107,
"percent_delta": 0.0623,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.2132,
"after": 1.0,
"delta": -0.2132,
"percent_delta": -0.1757,
"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.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"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.6495,
"after": 1.0,
"delta": 0.3505,
"percent_delta": 0.5396,
"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.1841,
"after": 0.143,
"delta": -0.0411,
"percent_delta": -0.2232,
"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.2788,
"after": 0.25,
"delta": -0.0288,
"percent_delta": -0.1033,
"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.2368,
"after": 0.143,
"delta": -0.0938,
"percent_delta": -0.3961,
"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.2368,
"after": 0.143,
"delta": -0.0938,
"percent_delta": -0.3961,
"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": 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": 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": 2.0,
"delta": -5.0,
"percent_delta": -0.7143,
"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": 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": 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": 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.1841,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2788,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2368,
"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.143,
"after": 0.1841,
"delta": 0.0411,
"percent_delta": 0.2875,
"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.2788,
"delta": 0.0288,
"percent_delta": 0.1151,
"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.2368,
"delta": 0.0938,
"percent_delta": 0.6559,
"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.2368,
"delta": 0.0938,
"percent_delta": 0.6559,
"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.034,
"after": 0.0,
"delta": -0.034,
"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.424,
"after": 2.0,
"delta": -1.424,
"percent_delta": -0.4159,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.226,
"after": 0.1841,
"delta": -0.0419,
"percent_delta": -0.1854,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.356,
"after": 0.0,
"delta": -0.356,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.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.2788,
"delta": 0.0098,
"percent_delta": 0.0364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.212,
"after": 0.0,
"delta": -0.212,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 0.0,
"delta": -0.41,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.287,
"after": 0.2368,
"delta": -0.0502,
"percent_delta": -0.1749,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.025,
"after": 0.0,
"delta": -1.025,
"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_H",
"before": 0.62,
"after": 1.0,
"delta": 0.38,
"percent_delta": 0.6129,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.424,
"after": 2.0,
"delta": -1.424,
"percent_delta": -0.4159,
"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.034 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.424 | - |
| predicted_AVG | 0.226 | - |
| predicted_BB | 0.356 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.269 | - |
| predicted_R | 0.212 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.287 | - |
| predicted_SO | 1.025 | - |
Final model 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.067 | 0.033 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.589 | 3.165 |
| predicted_AVG | 0.209 | -0.017 |
| predicted_BB | 0.867 | 0.511 |
| predicted_H | 1.216 | 0.596 |
| predicted_HBP | 0.085 | - |
| predicted_HR | 0.092 | 0.022 |
| predicted_OBP | 0.275 | 0.006 |
| predicted_R | 0.654 | 0.442 |
| predicted_RBI | 1.023 | 0.613 |
| predicted_SLG | 0.263 | -0.024 |
| predicted_SO | 1.897 | 0.872 |
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.067 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.589 | 0.000 |
| predicted_AVG | 0.184 | -0.025 |
| predicted_BB | 0.865 | -0.002 |
| predicted_H | 1.213 | -0.003 |
| predicted_HBP | 0.085 | 0.000 |
| predicted_HR | 0.092 | 0.000 |
| predicted_OBP | 0.279 | 0.004 |
| predicted_R | 0.649 | -0.004 |
| predicted_RBI | 1.016 | -0.007 |
| predicted_SLG | 0.237 | -0.026 |
| predicted_SO | 1.900 | 0.004 |
AB rounded to 7 (raw=6.59), rates preserved: AVG=0.184 HR/AB=0.014
| 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.067 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | 0.411 |
| predicted_AVG | 0.143 | -0.041 |
| predicted_BB | 1.000 | 0.135 |
| predicted_H | 1.000 | -0.213 |
| predicted_HR | 0.000 | -0.092 |
| predicted_OBP | 0.250 | -0.029 |
| predicted_R | 1.000 | 0.351 |
| predicted_RBI | 1.000 | -0.016 |
| predicted_SLG | 0.143 | -0.094 |
| predicted_SO | 2.000 | 0.100 |
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 | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | 0.000 |
| HBP | 1.000 | 1.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 | -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 | - | 15.000 | 4.000 | 0.000 | 0.000 | 0.000 | 5.000 | 5.000 | 5.000 | 4.000 | 0.2667 | 0.4500 | 0.2667 | 0.2667 | 0.0000 | 0.3333 | 0.3333 | 0.2667 |
| last_10 | 0.20 | 4 | - | 28.000 | 4.000 | 0.000 | 0.000 | 0.000 | 8.000 | 8.000 | 8.000 | 6.000 | 0.1429 | 0.3333 | 0.1429 | 0.1429 | 0.0000 | 0.2857 | 0.2857 | 0.2143 |
| season | 0.60 | 33 | - | 404.000 | 71.000 | 4.000 | 0.000 | 5.000 | 55.000 | 25.000 | 42.000 | 121.000 | 0.1757 | 0.2522 | 0.2228 | 0.1757 | 0.0124 | 0.1361 | 0.1040 | 0.2995 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0030 |
| predicted_AB | 10.7470 |
| predicted_AVG | 0.1860 |
| predicted_BB | 1.5370 |
| predicted_H | 1.9990 |
| predicted_HBP | 0.0850 |
| predicted_HR | 0.1210 |
| predicted_OBP | 0.2835 |
| predicted_R | 1.2340 |
| predicted_RBI | 1.8280 |
| predicted_SLG | 0.2305 |
| predicted_SO | 3.0420 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0340 | 0.1110 | 0.0673 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.4240 | 10.7470 | 6.5893 | model_form_blend |
| predicted_AVG | 0.2260 | 0.1860 | 0.2087 | model_form_blend |
| predicted_BB | 0.3560 | 1.5370 | 0.8665 | model_form_blend |
| predicted_H | 0.6200 | 1.9990 | 1.2161 | model_form_blend |
| predicted_HBP | - | 0.0850 | 0.0850 | form_only |
| predicted_HR | 0.0700 | 0.1210 | 0.0920 | model_form_blend |
| predicted_OBP | 0.2690 | 0.2835 | 0.2753 | model_form_blend |
| predicted_R | 0.2120 | 1.2340 | 0.6538 | model_form_blend |
| predicted_RBI | 0.4100 | 1.8280 | 1.0229 | model_form_blend |
| predicted_SLG | 0.2870 | 0.2305 | 0.2626 | model_form_blend |
| predicted_SO | 1.0250 | 3.0420 | 1.8968 | 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 | 118 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 3 |
| AB | 2 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.176 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | C |
| gameID | 20260526_MIN@CHW |
| game_type | short |
| mlbID | 700337 |
| playerID | 700337 |
| playerName | Edgar Quero |
| pos | C |
| started | False |
| startingPosition | C |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-26 |
| sl_k_percent | 25.6 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.225 |
| sl_xwoba | 0.246 |
| sl_xba | 0.181 |
| sl_xslg | 0.244 |
| sl_sweet_spot_percent | 21.1 |
| sl_barrel_batted_rate | 1.3 |
| sl_hard_hit_percent | 28.9 |
| sl_exit_velocity_avg | 89.6 |
| sl_launch_angle_avg | 8.2 |
| sl_whiff_percent | 27.0 |
| sl_swing_percent | 48.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.031 | 1.000 | 0.000 | Hitting_2B | 0.026 | 0.000 | 0.974 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 2.569 | 3.000 | 3.000 | Hitting_AB | 2.197 | 1.000 | 0.803 | 2.000 |
| predicted_AVG | 0.294 | 0.333 | 0.333 | Hitting_AVG | 0.216 | 0.000 | 0.118 | 0.333 |
| predicted_BB | 0.185 | 0.000 | 0.000 | Hitting_BB | 0.224 | 0.000 | -0.224 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.118 | 0.000 | -0.118 | 0.000 |
| predicted_H | 0.190 | 1.000 | 1.000 | Hitting_H | 0.474 | 0.000 | 0.526 | 1.000 |
| predicted_HR | 0.040 | 0.000 | 0.000 | Hitting_HR | 0.079 | 0.000 | -0.079 | 0.000 |
| predicted_OBP | 0.294 | 0.333 | 0.333 | Hitting_OBP | 0.288 | 0.000 | 0.045 | 0.333 |
| predicted_R | 0.308 | 0.000 | 0.000 | Hitting_R | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_RBI | 0.120 | 0.000 | 0.000 | Hitting_RBI | 0.197 | 0.000 | -0.197 | 0.000 |
| predicted_SLG | 0.404 | 0.667 | 0.333 | Hitting_SLG | 0.335 | 0.000 | 0.331 | 0.667 |
| predicted_SO | 0.908 | 1.000 | 1.000 | Hitting_SO | 0.776 | 0.000 | 0.224 | 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_2B: 0.0310 -> 1.0000 (boost 0.9690, better) |
| Biggest Deboost | predicted_R: 0.3080 -> 0.0000 (deboost -0.3080, 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: 2.5690 -> 3.4964 (boost 0.9274, better) | predicted_AVG: 0.2940 -> 0.2868 (deboost -0.0072, 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.4104 -> 0.2947 (deboost -0.1157, 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.6568 -> 1.0000 (boost 0.3432, better) | predicted_AB: 3.4964 -> 3.0000 (deboost -0.4964, worse) | AB rounded to 3 (raw=3.50), rates preserved: AVG=0.188 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.3960 -> 0.0000 (deboost -0.3960, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_AVG: 0.1879 -> 0.3330 (boost 0.1451, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 1 | 1 | 0 | 1 | 0 | predicted_2B: 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.1879 (deboost -0.1451, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "656537",
"player_name": "Derek Hill",
"position": "RF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.031,
"predicted_3B": 0.0,
"predicted_AB": 2.569,
"predicted_AVG": 0.294,
"predicted_BB": 0.185,
"predicted_H": 0.19,
"predicted_HR": 0.04,
"predicted_OBP": 0.294,
"predicted_R": 0.308,
"predicted_RBI": 0.12,
"predicted_SLG": 0.404,
"predicted_SO": 0.908
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.1338,
"predicted_3B": 0.0012,
"predicted_AB": 3.4964,
"predicted_AVG": 0.2868,
"predicted_BB": 0.3094,
"predicted_H": 0.6584,
"predicted_HBP": 0.006,
"predicted_HR": 0.0788,
"predicted_OBP": 0.3111,
"predicted_R": 0.3986,
"predicted_RBI": 0.2502,
"predicted_SLG": 0.4104,
"predicted_SO": 1.1704
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.031,
"after": 0.1338,
"delta": 0.1028,
"percent_delta": 3.3161,
"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": 2.569,
"after": 3.4964,
"delta": 0.9274,
"percent_delta": 0.361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2868,
"delta": -0.0072,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.3094,
"delta": 0.1244,
"percent_delta": 0.6724,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 0.6584,
"delta": 0.4684,
"percent_delta": 2.4653,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.04,
"after": 0.0788,
"delta": 0.0388,
"percent_delta": 0.97,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.294,
"after": 0.3111,
"delta": 0.0171,
"percent_delta": 0.0582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.3986,
"delta": 0.0906,
"percent_delta": 0.2942,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.12,
"after": 0.2502,
"delta": 0.1302,
"percent_delta": 1.085,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4104,
"delta": 0.0064,
"percent_delta": 0.0158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.908,
"after": 1.1704,
"delta": 0.2624,
"percent_delta": 0.289,
"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": 2.569,
"after": 3.4964,
"delta": 0.9274,
"percent_delta": 0.361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.2868,
"delta": -0.0072,
"percent_delta": -0.0245,
"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": 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.1338,
"predicted_3B": 0.0012,
"predicted_AB": 3.4964,
"predicted_AVG": 0.1879,
"predicted_BB": 0.3088,
"predicted_H": 0.6568,
"predicted_HBP": 0.006,
"predicted_HR": 0.0791,
"predicted_OBP": 0.2538,
"predicted_R": 0.396,
"predicted_RBI": 0.2485,
"predicted_SLG": 0.2947,
"predicted_SO": 1.1726
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1338,
"after": 0.1338,
"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.4964,
"after": 3.4964,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2868,
"after": 0.1879,
"delta": -0.0989,
"percent_delta": -0.3448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3094,
"after": 0.3088,
"delta": -0.0006,
"percent_delta": -0.0019,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.6584,
"after": 0.6568,
"delta": -0.0016,
"percent_delta": -0.0024,
"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.0788,
"after": 0.0791,
"delta": 0.0003,
"percent_delta": 0.0038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3111,
"after": 0.2538,
"delta": -0.0573,
"percent_delta": -0.1842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.3986,
"after": 0.396,
"delta": -0.0026,
"percent_delta": -0.0065,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.2502,
"after": 0.2485,
"delta": -0.0017,
"percent_delta": -0.0068,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4104,
"after": 0.2947,
"delta": -0.1157,
"percent_delta": -0.2819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1704,
"after": 1.1726,
"delta": 0.0022,
"percent_delta": 0.0019,
"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.4104,
"after": 0.2947,
"delta": -0.1157,
"percent_delta": -0.2819,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 3 (raw=3.50), rates preserved: AVG=0.188 HR/AB=0.023",
"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.1338,
"after": 0.0,
"delta": -0.1338,
"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.4964,
"after": 3.0,
"delta": -0.4964,
"percent_delta": -0.142,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3088,
"after": 0.0,
"delta": -0.3088,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.6568,
"after": 1.0,
"delta": 0.3432,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.006,
"after": 0.0,
"delta": -0.006,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0791,
"after": 0.0,
"delta": -0.0791,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.2485,
"after": 0.0,
"delta": -0.2485,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1726,
"after": 1.0,
"delta": -0.1726,
"percent_delta": -0.1472,
"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.6568,
"after": 1.0,
"delta": 0.3432,
"percent_delta": 0.5225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.4964,
"after": 3.0,
"delta": -0.4964,
"percent_delta": -0.142,
"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.396,
"after": 0.0,
"delta": -0.396,
"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.396,
"after": 0.0,
"delta": -0.396,
"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.1879,
"after": 0.333,
"delta": 0.1451,
"percent_delta": 0.7722,
"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.2538,
"after": 0.333,
"delta": 0.0792,
"percent_delta": 0.3121,
"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.2947,
"after": 0.333,
"delta": 0.0383,
"percent_delta": 0.13,
"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.1879,
"after": 0.333,
"delta": 0.1451,
"percent_delta": 0.7722,
"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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_2B",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1879,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2538,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2947,
"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.333,
"after": 0.1879,
"delta": -0.1451,
"percent_delta": -0.4359,
"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.2538,
"delta": -0.0792,
"percent_delta": -0.2379,
"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.2947,
"delta": -0.0383,
"percent_delta": -0.115,
"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.1879,
"delta": -0.1451,
"percent_delta": -0.4359,
"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.031,
"after": 1.0,
"delta": 0.969,
"percent_delta": 31.2581,
"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.569,
"after": 3.0,
"delta": 0.431,
"percent_delta": 0.1678,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.294,
"after": 0.1879,
"delta": -0.1061,
"percent_delta": -0.3609,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.185,
"after": 0.0,
"delta": -0.185,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.19,
"after": 1.0,
"delta": 0.81,
"percent_delta": 4.2632,
"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.294,
"after": 0.2538,
"delta": -0.0402,
"percent_delta": -0.1367,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"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.404,
"after": 0.2947,
"delta": -0.1093,
"percent_delta": -0.2705,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.908,
"after": 1.0,
"delta": 0.092,
"percent_delta": 0.1013,
"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_2B",
"before": 0.031,
"after": 1.0,
"delta": 0.969,
"percent_delta": 31.2581,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"before": 0.308,
"after": 0.0,
"delta": -0.308,
"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.031 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 2.569 | - |
| predicted_AVG | 0.294 | - |
| predicted_BB | 0.185 | - |
| predicted_H | 0.190 | - |
| predicted_HR | 0.040 | - |
| predicted_OBP | 0.294 | - |
| predicted_R | 0.308 | - |
| predicted_RBI | 0.120 | - |
| predicted_SLG | 0.404 | - |
| predicted_SO | 0.908 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.103 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 3.496 | 0.927 |
| predicted_AVG | 0.287 | -0.007 |
| predicted_BB | 0.309 | 0.124 |
| predicted_H | 0.658 | 0.468 |
| predicted_HBP | 0.006 | - |
| predicted_HR | 0.079 | 0.039 |
| predicted_OBP | 0.311 | 0.017 |
| predicted_R | 0.399 | 0.091 |
| predicted_RBI | 0.250 | 0.130 |
| predicted_SLG | 0.410 | 0.006 |
| predicted_SO | 1.170 | 0.262 |
Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.134 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 3.496 | 0.000 |
| predicted_AVG | 0.188 | -0.099 |
| predicted_BB | 0.309 | -0.001 |
| predicted_H | 0.657 | -0.002 |
| predicted_HBP | 0.006 | 0.000 |
| predicted_HR | 0.079 | 0.000 |
| predicted_OBP | 0.254 | -0.057 |
| predicted_R | 0.396 | -0.003 |
| predicted_RBI | 0.248 | -0.002 |
| predicted_SLG | 0.295 | -0.116 |
| predicted_SO | 1.173 | 0.002 |
AB rounded to 3 (raw=3.50), rates preserved: AVG=0.188 HR/AB=0.023
| 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.134 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 3.000 | -0.496 |
| predicted_AVG | 0.333 | 0.145 |
| predicted_BB | 0.000 | -0.309 |
| predicted_H | 1.000 | 0.343 |
| predicted_HR | 0.000 | -0.079 |
| predicted_OBP | 0.333 | 0.079 |
| predicted_R | 0.000 | -0.396 |
| predicted_RBI | 0.000 | -0.248 |
| predicted_SLG | 0.333 | 0.038 |
| predicted_SO | 1.000 | -0.173 |
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 | 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 | - | 7.000 | 4.000 | 2.000 | 0.000 | 0.000 | 0.000 | 0.000 | 2.000 | 2.000 | 0.5714 | 0.6667 | 0.8571 | 0.5714 | 0.0000 | 0.0000 | 0.2857 | 0.2857 |
| last_10 | 0.20 | 5 | - | 24.000 | 8.000 | 2.000 | 0.000 | 0.000 | 4.000 | 4.000 | 2.000 | 7.000 | 0.3333 | 0.3846 | 0.4167 | 0.3333 | 0.0000 | 0.1667 | 0.0833 | 0.2917 |
| season | 0.60 | 30 | - | 167.000 | 36.000 | 2.000 | 0.000 | 6.000 | 15.000 | 20.000 | 12.000 | 59.000 | 0.2156 | 0.2682 | 0.3353 | 0.2156 | 0.0359 | 0.0898 | 0.0719 | 0.3533 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2830 |
| predicted_3B | 0.0030 |
| predicted_AB | 4.8420 |
| predicted_AVG | 0.2763 |
| predicted_BB | 0.4900 |
| predicted_H | 1.3380 |
| predicted_HBP | 0.0060 |
| predicted_HR | 0.1350 |
| predicted_OBP | 0.3359 |
| predicted_R | 0.5300 |
| predicted_RBI | 0.4390 |
| predicted_SLG | 0.4197 |
| predicted_SO | 1.5510 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0310 | 0.2830 | 0.1338 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0012 | model_form_blend |
| predicted_AB | 2.5690 | 4.8420 | 3.4964 | model_form_blend |
| predicted_AVG | 0.2940 | 0.2763 | 0.2868 | model_form_blend |
| predicted_BB | 0.1850 | 0.4900 | 0.3094 | model_form_blend |
| predicted_H | 0.1900 | 1.3380 | 0.6584 | model_form_blend |
| predicted_HBP | - | 0.0060 | 0.0060 | form_only |
| predicted_HR | 0.0400 | 0.1350 | 0.0788 | model_form_blend |
| predicted_OBP | 0.2940 | 0.3359 | 0.3111 | model_form_blend |
| predicted_R | 0.3080 | 0.5300 | 0.3986 | model_form_blend |
| predicted_RBI | 0.1200 | 0.4390 | 0.2502 | model_form_blend |
| predicted_SLG | 0.4040 | 0.4197 | 0.4104 | model_form_blend |
| predicted_SO | 0.9080 | 1.5510 | 1.1704 | 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 | 76 |
| Season rows before report date | 76 |
| 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 1 |
| 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 | 1 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 7 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PH-CF-LF |
| gameID | 20260526_MIN@CHW |
| game_type | ph |
| mlbID | 656537 |
| note | Popped out for Peters in the 9th. |
| playerID | 656537 |
| playerName | Derek Hill |
| pos | RF |
| started | False |
| startingPosition | PH |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-26 |
| game_pk | 824597.0 |
| sl_k_percent | 27.9 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.333 |
| sl_xwoba | 0.325 |
| sl_xba | 0.25 |
| sl_xslg | 0.404 |
| sl_sweet_spot_percent | 33.3 |
| sl_barrel_batted_rate | 9.8 |
| sl_hard_hit_percent | 35.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 16.1 |
| sl_whiff_percent | 31.1 |
| sl_swing_percent | 50.6 |
| at_bat_number | 65.0 |
| ab_pitcher | 702193.0 |
| ab_pitcher_name | Morris, Andrew |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 9.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Derek Hill pops out to second baseman Luke Keaschall in foul territory. |
| ab_event_type | X |
| ab_bb_type | popup |
| ab_hit_location | 4.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 1.0 |
| ab_launch_speed_last | 82.3 |
| ab_launch_angle_last | 59.0 |
| ab_hit_distance_last | 181.0 |
| ab_estimated_ba_last | 0.031 |
| ab_estimated_woba_last | 0.028 |
| ab_estimated_slg_last | 0.04 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 96.74 |
| ab_release_spin_rate_avg | 1981.0 |
| ab_effective_speed_avg | 96.84 |
| ab_launch_speed_avg | 82.3 |
| ab_launch_angle_avg | 59.0 |
| ab_delta_run_exp_avg | -0.051 |
| ab_delta_home_win_exp_avg | -0.0092 |
| ab_delta_pitcher_run_exp_avg | 0.051 |
| ab_bat_speed_avg | 75.8 |
| ab_swing_length_avg | 6.4 |
| ab_launch_speed_max | 82.3 |
| ab_hit_distance_sc_max | 181.0 |
| ab_release_speed_max | 97.3 |
| ab_release_spin_rate_max | 2129.0 |
| ab_release_speed_min | 95.8 |
| ab_release_spin_rate_min | 1835.0 |
| ab_delta_run_exp_sum | -0.255 |
| ab_delta_home_win_exp_sum | -0.046 |
| ab_delta_pitcher_run_exp_sum | 0.255 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.125 | 0.000 | 0.000 | Hitting_2B | 0.124 | 0.000 | -0.124 | 0.000 |
| predicted_3B | 0.062 | 0.000 | 0.000 | Hitting_3B | 0.062 | 0.000 | -0.062 | 0.000 |
| predicted_AB | 3.507 | 3.000 | 8.000 | Hitting_AB | 3.483 | 4.000 | -0.483 | -1.000 |
| predicted_AVG | 0.267 | 0.000 | 0.250 | Hitting_AVG | 0.261 | 0.750 | -0.261 | -0.750 |
| predicted_BB | 0.306 | 0.000 | 1.000 | Hitting_BB | 0.303 | 1.000 | -0.303 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.117 | 0.000 | -0.117 | 0.000 |
| predicted_H | 0.800 | 0.000 | 2.000 | Hitting_H | 0.910 | 3.000 | -0.910 | -3.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.034 | 0.000 | -0.034 | 0.000 |
| predicted_OBP | 0.356 | 0.000 | 0.333 | Hitting_OBP | 0.377 | 0.800 | -0.377 | -0.800 |
| predicted_R | 0.646 | 0.000 | 2.000 | Hitting_R | 0.641 | 2.000 | -0.641 | -2.000 |
| predicted_RBI | 0.410 | 0.000 | 1.000 | Hitting_RBI | 0.407 | 3.000 | -0.407 | -3.000 |
| predicted_SLG | 0.374 | 0.000 | 0.250 | Hitting_SLG | 0.362 | 0.750 | -0.362 | -0.750 |
| predicted_SO | 0.639 | 1.000 | 2.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 | 12 |
| Boosted Metrics | 3 |
| Deboosted Metrics | 9 |
| Better Metrics | 2 |
| Worse Metrics | 10 |
| Biggest Boost | predicted_SO: 0.6390 -> 1.0000 (boost 0.3610, worse) |
| Biggest Deboost | predicted_H: 0.8000 -> 0.0000 (deboost -0.8000, 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.5070 -> 8.0399 (boost 4.5329, 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.3796 -> 0.3451 (deboost -0.0345, 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.5672 -> 2.0000 (boost 0.4328, worse) | predicted_HBP: 1.3070 -> 0.0000 (deboost -1.3070, worse) | AB rounded to 8 (raw=8.04), rates preserved: AVG=0.283 HR/AB=0.012 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5838 -> 2.0000 (boost 0.4162, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3827 -> 0.2500 (deboost -0.1327, 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.2500 -> 0.3827 (boost 0.1327, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "803011",
"player_name": "Sam Antonacci",
"position": "LF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.125,
"predicted_3B": 0.062,
"predicted_AB": 3.507,
"predicted_AVG": 0.267,
"predicted_BB": 0.306,
"predicted_H": 0.8,
"predicted_HR": 0.06,
"predicted_OBP": 0.356,
"predicted_R": 0.646,
"predicted_RBI": 0.41,
"predicted_SLG": 0.374,
"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.2659,
"predicted_3B": 0.127,
"predicted_AB": 8.0399,
"predicted_AVG": 0.2821,
"predicted_BB": 0.7662,
"predicted_H": 2.2796,
"predicted_HBP": 1.307,
"predicted_HR": 0.094,
"predicted_OBP": 0.3796,
"predicted_R": 1.5943,
"predicted_RBI": 1.2462,
"predicted_SLG": 0.3827,
"predicted_SO": 1.5642
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.125,
"after": 0.2659,
"delta": 0.1409,
"percent_delta": 1.1272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.062,
"after": 0.127,
"delta": 0.065,
"percent_delta": 1.0484,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AB",
"before": 3.507,
"after": 8.0399,
"delta": 4.5329,
"percent_delta": 1.2925,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2821,
"delta": 0.0151,
"percent_delta": 0.0566,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.7662,
"delta": 0.4602,
"percent_delta": 1.5039,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8,
"after": 2.2796,
"delta": 1.4796,
"percent_delta": 1.8495,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.094,
"delta": 0.034,
"percent_delta": 0.5667,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3796,
"delta": 0.0236,
"percent_delta": 0.0663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 1.5943,
"delta": 0.9483,
"percent_delta": 1.468,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.41,
"after": 1.2462,
"delta": 0.8362,
"percent_delta": 2.0395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.374,
"after": 0.3827,
"delta": 0.0087,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 1.5642,
"delta": 0.9252,
"percent_delta": 1.4479,
"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.507,
"after": 8.0399,
"delta": 4.5329,
"percent_delta": 1.2925,
"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": 1,
"last_10": 2,
"season": 37
}
},
{
"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.2659,
"predicted_3B": 0.127,
"predicted_AB": 8.0399,
"predicted_AVG": 0.2829,
"predicted_BB": 0.7647,
"predicted_H": 2.2741,
"predicted_HBP": 1.307,
"predicted_HR": 0.0944,
"predicted_OBP": 0.3451,
"predicted_R": 1.5838,
"predicted_RBI": 1.238,
"predicted_SLG": 0.3827,
"predicted_SO": 1.5672
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2659,
"after": 0.2659,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.127,
"after": 0.127,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.0399,
"after": 8.0399,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2821,
"after": 0.2829,
"delta": 0.0008,
"percent_delta": 0.0028,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7662,
"after": 0.7647,
"delta": -0.0015,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2796,
"after": 2.2741,
"delta": -0.0055,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 1.307,
"after": 1.307,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.094,
"after": 0.0944,
"delta": 0.0004,
"percent_delta": 0.0043,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3796,
"after": 0.3451,
"delta": -0.0345,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.5943,
"after": 1.5838,
"delta": -0.0105,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.2462,
"after": 1.238,
"delta": -0.0082,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3827,
"after": 0.3827,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.5642,
"after": 1.5672,
"delta": 0.003,
"percent_delta": 0.0019,
"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.3796,
"after": 0.3451,
"delta": -0.0345,
"percent_delta": -0.0909,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 8 (raw=8.04), rates preserved: AVG=0.283 HR/AB=0.012",
"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.2659,
"after": 0.0,
"delta": -0.2659,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.127,
"after": 0.0,
"delta": -0.127,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AB",
"before": 8.0399,
"after": 8.0,
"delta": -0.0399,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7647,
"after": 1.0,
"delta": 0.2353,
"percent_delta": 0.3077,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2741,
"after": 2.0,
"delta": -0.2741,
"percent_delta": -0.1205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 1.307,
"after": 0.0,
"delta": -1.307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0944,
"after": 0.0,
"delta": -0.0944,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.238,
"after": 1.0,
"delta": -0.238,
"percent_delta": -0.1922,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5672,
"after": 2.0,
"delta": 0.4328,
"percent_delta": 0.2762,
"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.5672,
"after": 2.0,
"delta": 0.4328,
"percent_delta": 0.2762,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 1.307,
"after": 0.0,
"delta": -1.307,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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": 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.5838,
"after": 2.0,
"delta": 0.4162,
"percent_delta": 0.2628,
"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.5838,
"after": 2.0,
"delta": 0.4162,
"percent_delta": 0.2628,
"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": 2.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.2829,
"after": 0.25,
"delta": -0.0329,
"percent_delta": -0.1163,
"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.3451,
"after": 0.333,
"delta": -0.0121,
"percent_delta": -0.0351,
"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.3827,
"after": 0.25,
"delta": -0.1327,
"percent_delta": -0.3467,
"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.3827,
"after": 0.25,
"delta": -0.1327,
"percent_delta": -0.3467,
"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": 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": 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": 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.2829,
"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.3451,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3827,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2829,
"delta": 0.0329,
"percent_delta": 0.1314,
"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.3451,
"delta": 0.0121,
"percent_delta": 0.0365,
"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.3827,
"delta": 0.1327,
"percent_delta": 0.531,
"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.3827,
"delta": 0.1327,
"percent_delta": 0.531,
"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.062,
"after": 0.0,
"delta": -0.062,
"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.267,
"after": 0.2829,
"delta": 0.0159,
"percent_delta": 0.0596,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.306,
"after": 0.0,
"delta": -0.306,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.356,
"after": 0.3451,
"delta": -0.0109,
"percent_delta": -0.0306,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.646,
"after": 0.0,
"delta": -0.646,
"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.374,
"after": 0.3827,
"delta": 0.0087,
"percent_delta": 0.0233,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.639,
"after": 1.0,
"delta": 0.361,
"percent_delta": 0.5649,
"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_SO",
"before": 0.639,
"after": 1.0,
"delta": 0.361,
"percent_delta": 0.5649,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.8,
"after": 0.0,
"delta": -0.8,
"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.125 | - |
| predicted_3B | 0.062 | - |
| predicted_AB | 3.507 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.306 | - |
| predicted_H | 0.800 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.356 | - |
| predicted_R | 0.646 | - |
| predicted_RBI | 0.410 | - |
| predicted_SLG | 0.374 | - |
| 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.266 | 0.141 |
| predicted_3B | 0.127 | 0.065 |
| predicted_AB | 8.040 | 4.533 |
| predicted_AVG | 0.282 | 0.015 |
| predicted_BB | 0.766 | 0.460 |
| predicted_H | 2.280 | 1.480 |
| predicted_HBP | 1.307 | - |
| predicted_HR | 0.094 | 0.034 |
| predicted_OBP | 0.380 | 0.024 |
| predicted_R | 1.594 | 0.948 |
| predicted_RBI | 1.246 | 0.836 |
| predicted_SLG | 0.383 | 0.009 |
| predicted_SO | 1.564 | 0.925 |
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.266 | 0.000 |
| predicted_3B | 0.127 | 0.000 |
| predicted_AB | 8.040 | 0.000 |
| predicted_AVG | 0.283 | 0.001 |
| predicted_BB | 0.765 | -0.001 |
| predicted_H | 2.274 | -0.006 |
| predicted_HBP | 1.307 | 0.000 |
| predicted_HR | 0.094 | 0.000 |
| predicted_OBP | 0.345 | -0.034 |
| predicted_R | 1.584 | -0.010 |
| predicted_RBI | 1.238 | -0.008 |
| predicted_SLG | 0.383 | 0.000 |
| predicted_SO | 1.567 | 0.003 |
AB rounded to 8 (raw=8.04), rates preserved: AVG=0.283 HR/AB=0.012
| 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 | 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.266 |
| predicted_3B | 0.000 | -0.127 |
| predicted_AB | 8.000 | -0.040 |
| predicted_AVG | 0.250 | -0.033 |
| predicted_BB | 1.000 | 0.235 |
| predicted_H | 2.000 | -0.274 |
| predicted_HR | 0.000 | -0.094 |
| predicted_OBP | 0.333 | -0.012 |
| predicted_R | 2.000 | 0.416 |
| predicted_RBI | 1.000 | -0.238 |
| predicted_SLG | 0.250 | -0.133 |
| predicted_SO | 2.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 | 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 | 0.000 |
| PA | 3.000 | - |
| R | 0.000 | -2.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 | 1 | - | 20.000 | 15.000 | 0.000 | 0.000 | 0.000 | 15.000 | 10.000 | 5.000 | 5.000 | 0.7500 | 0.8000 | 0.7500 | 0.7500 | 0.0000 | 0.7500 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 2 | - | 40.000 | 20.000 | 0.000 | 0.000 | 0.000 | 15.000 | 10.000 | 5.000 | 15.000 | 0.5000 | 0.6000 | 0.5000 | 0.5000 | 0.0000 | 0.3750 | 0.1250 | 0.3750 |
| season | 0.60 | 37 | - | 505.000 | 132.000 | 18.000 | 9.000 | 5.000 | 59.000 | 93.000 | 44.000 | 92.000 | 0.2614 | 0.3769 | 0.3624 | 0.2614 | 0.0099 | 0.1168 | 0.0871 | 0.1822 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4480 |
| predicted_3B | 0.2110 |
| predicted_AB | 13.8990 |
| predicted_AVG | 0.3016 |
| predicted_BB | 1.3610 |
| predicted_H | 4.1920 |
| predicted_HBP | 1.3070 |
| predicted_HR | 0.1380 |
| predicted_OBP | 0.4101 |
| predicted_R | 2.8200 |
| predicted_RBI | 2.3270 |
| predicted_SLG | 0.3940 |
| predicted_SO | 2.7600 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1250 | 0.4480 | 0.2659 | model_form_blend |
| predicted_3B | 0.0620 | 0.2110 | 0.1270 | model_form_blend |
| predicted_AB | 3.5070 | 13.8990 | 8.0399 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3016 | 0.2821 | model_form_blend |
| predicted_BB | 0.3060 | 1.3610 | 0.7662 | model_form_blend |
| predicted_H | 0.8000 | 4.1920 | 2.2796 | model_form_blend |
| predicted_HBP | - | 1.3070 | 1.3070 | form_only |
| predicted_HR | 0.0600 | 0.1380 | 0.0940 | model_form_blend |
| predicted_OBP | 0.3560 | 0.4101 | 0.3796 | model_form_blend |
| predicted_R | 0.6460 | 2.8200 | 1.5943 | model_form_blend |
| predicted_RBI | 0.4100 | 2.3270 | 1.2462 | model_form_blend |
| predicted_SLG | 0.3740 | 0.3940 | 0.3827 | model_form_blend |
| predicted_SO | 0.6390 | 2.7600 | 1.5642 | 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 | 145 |
| Season rows before report date | 145 |
| Report year | 2026 |
| Profile rows used | 144 |
| 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.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 | 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 | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 3 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | LF |
| gameID | 20260527_MIN@CHW |
| game_type | full |
| mlbID | 803011 |
| playerID | 803011 |
| playerName | Sam Antonacci |
| pos | SS |
| started | True |
| startingPosition | LF |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-27 |
| game_pk | 824596.0 |
| sl_k_percent | 14.2 |
| sl_bb_percent | 6.4 |
| sl_woba | 0.343 |
| sl_xwoba | 0.383 |
| sl_xba | 0.315 |
| sl_xslg | 0.447 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 8.0 |
| sl_hard_hit_percent | 38.6 |
| sl_exit_velocity_avg | 88.4 |
| sl_launch_angle_avg | 10.4 |
| sl_whiff_percent | 16.2 |
| sl_swing_percent | 40.6 |
| at_bat_number | 71.0 |
| ab_pitcher | 606115.0 |
| ab_pitcher_name | Arcia, Orlando |
| ab_home_team | CWS |
| ab_away_team | MIN |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_on_1b_start | 671976.0 |
| ab_on_2b_start | 700337.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 14.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 14.0 |
| ab_fld_score_start | 2.0 |
| ab_event | walk |
| ab_event_description | Sam Antonacci walks. Edgar Quero to 3rd. Tristan Peters to 2nd. |
| ab_event_type | B |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 14.0 |
| ab_estimated_woba_last | 0.701632 |
| ab_woba_value | 0.7 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 3.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 14.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 14.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 50.36 |
| ab_release_spin_rate_avg | 1367.0 |
| ab_effective_speed_avg | 48.3 |
| ab_delta_run_exp_avg | 0.08 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.08 |
| ab_release_speed_max | 62.5 |
| ab_release_spin_rate_max | 1684.0 |
| ab_release_speed_min | 41.0 |
| ab_release_spin_rate_min | 1123.0 |
| ab_delta_run_exp_sum | 0.4 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -0.4 |
| ab_result_is_hit | False |
| ab_result_is_walk | True |
| ab_result_is_strikeout | False |
| 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.049 | 0.000 | 0.000 | Hitting_2B | 0.046 | 0.000 | -0.046 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.039 | 3.000 | 5.000 | Hitting_AB | 2.898 | 0.000 | 0.102 | 3.000 |
| predicted_AVG | 0.242 | 0.000 | 0.200 | Hitting_AVG | 0.169 | - | -0.169 | - |
| predicted_BB | 0.262 | 0.000 | 0.000 | Hitting_BB | 0.250 | 0.000 | -0.250 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_H | 0.530 | 0.000 | 1.000 | Hitting_H | 0.491 | 0.000 | -0.491 | 0.000 |
| predicted_HR | 0.050 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.243 | 0.000 | 0.200 | Hitting_OBP | 0.239 | - | -0.239 | - |
| predicted_R | 0.340 | 0.000 | 1.000 | Hitting_R | 0.324 | 0.000 | -0.324 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 0.000 | Hitting_RBI | 0.157 | 0.000 | -0.157 | 0.000 |
| predicted_SLG | 0.272 | 0.000 | 0.200 | Hitting_SLG | 0.185 | - | -0.185 | - |
| predicted_SO | 0.612 | 1.000 | 1.000 | Hitting_SO | 0.583 | 0.000 | 0.417 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 8 |
| Better Metrics | 0 |
| Worse Metrics | 9 |
| Biggest Boost | predicted_SO: 0.6120 -> 1.0000 (boost 0.3880, worse) |
| Biggest Deboost | predicted_H: 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 | 6 | 3 | 5 | 4 | predicted_AB: 3.0390 -> 5.0392 (boost 2.0002, better) | predicted_SLG: 0.2720 -> 0.2303 (deboost -0.0417, 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.2034 -> 0.1591 (deboost -0.0443, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 1 | 5 | 2 | 4 | predicted_H: 0.8018 -> 1.0000 (boost 0.1982, better) | predicted_RBI: 0.4655 -> 0.0000 (deboost -0.4655, worse) | AB rounded to 5 (raw=5.04), rates preserved: AVG=0.159 HR/AB=0.007 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.5345 -> 1.0000 (boost 0.4655, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.1591 -> 0.2000 (boost 0.0409, better) | predicted_OBP: 0.2147 -> 0.2000 (deboost -0.0147, 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 | 2 | 1 | 1 | 1 | 1 | predicted_OBP: 0.2000 -> 0.2147 (boost 0.0147, better) | predicted_AVG: 0.2000 -> 0.1591 (deboost -0.0409, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "682668",
"player_name": "Luisangel Acuña",
"position": "CF",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "xgboost_raw",
"description": "Raw model output with missing event categories filled from season-profile fallback",
"stats": {
"predicted_2B": 0.049,
"predicted_3B": 0.0,
"predicted_AB": 3.039,
"predicted_AVG": 0.242,
"predicted_BB": 0.262,
"predicted_H": 0.53,
"predicted_HR": 0.05,
"predicted_OBP": 0.243,
"predicted_R": 0.34,
"predicted_RBI": 0.25,
"predicted_SLG": 0.272,
"predicted_SO": 0.612
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0755,
"predicted_3B": 0.0009,
"predicted_AB": 5.0392,
"predicted_AVG": 0.2034,
"predicted_BB": 0.3572,
"predicted_H": 0.8037,
"predicted_HBP": 0.071,
"predicted_HR": 0.0372,
"predicted_OBP": 0.2255,
"predicted_R": 0.5381,
"predicted_RBI": 0.4686,
"predicted_SLG": 0.2303,
"predicted_SO": 1.1535
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.049,
"after": 0.0755,
"delta": 0.0265,
"percent_delta": 0.5408,
"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.039,
"after": 5.0392,
"delta": 2.0002,
"percent_delta": 0.6582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2034,
"delta": -0.0386,
"percent_delta": -0.1595,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.262,
"after": 0.3572,
"delta": 0.0952,
"percent_delta": 0.3634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.8037,
"delta": 0.2737,
"percent_delta": 0.5164,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.05,
"after": 0.0372,
"delta": -0.0128,
"percent_delta": -0.256,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.243,
"after": 0.2255,
"delta": -0.0175,
"percent_delta": -0.072,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.34,
"after": 0.5381,
"delta": 0.1981,
"percent_delta": 0.5826,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 0.4686,
"delta": 0.2186,
"percent_delta": 0.8744,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.272,
"after": 0.2303,
"delta": -0.0417,
"percent_delta": -0.1533,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.612,
"after": 1.1535,
"delta": 0.5415,
"percent_delta": 0.8848,
"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.039,
"after": 5.0392,
"delta": 2.0002,
"percent_delta": 0.6582,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.272,
"after": 0.2303,
"delta": -0.0417,
"percent_delta": -0.1533,
"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": 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.0755,
"predicted_3B": 0.0009,
"predicted_AB": 5.0392,
"predicted_AVG": 0.1591,
"predicted_BB": 0.3565,
"predicted_H": 0.8018,
"predicted_HBP": 0.071,
"predicted_HR": 0.0374,
"predicted_OBP": 0.2147,
"predicted_R": 0.5345,
"predicted_RBI": 0.4655,
"predicted_SLG": 0.1967,
"predicted_SO": 1.1557
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0755,
"after": 0.0755,
"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.0392,
"after": 5.0392,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2034,
"after": 0.1591,
"delta": -0.0443,
"percent_delta": -0.2178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.3572,
"after": 0.3565,
"delta": -0.0007,
"percent_delta": -0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.8037,
"after": 0.8018,
"delta": -0.0019,
"percent_delta": -0.0024,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.071,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0372,
"after": 0.0374,
"delta": 0.0002,
"percent_delta": 0.0054,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2255,
"after": 0.2147,
"delta": -0.0108,
"percent_delta": -0.0479,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.5381,
"after": 0.5345,
"delta": -0.0036,
"percent_delta": -0.0067,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4686,
"after": 0.4655,
"delta": -0.0031,
"percent_delta": -0.0066,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.2303,
"after": 0.1967,
"delta": -0.0336,
"percent_delta": -0.1459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1535,
"after": 1.1557,
"delta": 0.0022,
"percent_delta": 0.0019,
"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.2034,
"after": 0.1591,
"delta": -0.0443,
"percent_delta": -0.2178,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=5.04), rates preserved: AVG=0.159 HR/AB=0.007",
"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.0755,
"after": 0.0,
"delta": -0.0755,
"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.0392,
"after": 5.0,
"delta": -0.0392,
"percent_delta": -0.0078,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.3565,
"after": 0.0,
"delta": -0.3565,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.8018,
"after": 1.0,
"delta": 0.1982,
"percent_delta": 0.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.071,
"after": 0.0,
"delta": -0.071,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0374,
"after": 0.0,
"delta": -0.0374,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.4655,
"after": 0.0,
"delta": -0.4655,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1557,
"after": 1.0,
"delta": -0.1557,
"percent_delta": -0.1347,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 2,
"worse_metrics": 4,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.8018,
"after": 1.0,
"delta": 0.1982,
"percent_delta": 0.2472,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 0.4655,
"after": 0.0,
"delta": -0.4655,
"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.5345,
"after": 1.0,
"delta": 0.4655,
"percent_delta": 0.8709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_R",
"before": 0.5345,
"after": 1.0,
"delta": 0.4655,
"percent_delta": 0.8709,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 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.1591,
"after": 0.2,
"delta": 0.0409,
"percent_delta": 0.2571,
"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.2147,
"after": 0.2,
"delta": -0.0147,
"percent_delta": -0.0685,
"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.1967,
"after": 0.2,
"delta": 0.0033,
"percent_delta": 0.0168,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.1591,
"after": 0.2,
"delta": 0.0409,
"percent_delta": 0.2571,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2147,
"after": 0.2,
"delta": -0.0147,
"percent_delta": -0.0685,
"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.1591,
"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.2147,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.1967,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.1591,
"delta": -0.0409,
"percent_delta": -0.2045,
"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.2147,
"delta": 0.0147,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "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.1967,
"delta": -0.0033,
"percent_delta": -0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"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.2,
"after": 0.2147,
"delta": 0.0147,
"percent_delta": 0.0733,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.2,
"after": 0.1591,
"delta": -0.0409,
"percent_delta": -0.2045,
"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.049,
"after": 0.0,
"delta": -0.049,
"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.039,
"after": 3.0,
"delta": -0.039,
"percent_delta": -0.0128,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.1591,
"delta": -0.0829,
"percent_delta": -0.3426,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.262,
"after": 0.0,
"delta": -0.262,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.53,
"after": 0.0,
"delta": -0.53,
"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.243,
"after": 0.2147,
"delta": -0.0283,
"percent_delta": -0.1165,
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.272,
"after": 0.1967,
"delta": -0.0753,
"percent_delta": -0.2768,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.612,
"after": 1.0,
"delta": 0.388,
"percent_delta": 0.634,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 1,
"deboosted_metrics": 8,
"better_metrics": 0,
"worse_metrics": 9,
"biggest_boost": {
"metric": "predicted_SO",
"before": 0.612,
"after": 1.0,
"delta": 0.388,
"percent_delta": 0.634,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"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.049 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.039 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.262 | - |
| predicted_H | 0.530 | - |
| predicted_HR | 0.050 | - |
| predicted_OBP | 0.243 | - |
| predicted_R | 0.340 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.272 | - |
| predicted_SO | 0.612 | - |
Final model 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.075 | 0.026 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.039 | 2.000 |
| predicted_AVG | 0.203 | -0.039 |
| predicted_BB | 0.357 | 0.095 |
| predicted_H | 0.804 | 0.274 |
| predicted_HBP | 0.071 | - |
| predicted_HR | 0.037 | -0.013 |
| predicted_OBP | 0.226 | -0.017 |
| predicted_R | 0.538 | 0.198 |
| predicted_RBI | 0.469 | 0.219 |
| predicted_SLG | 0.230 | -0.042 |
| predicted_SO | 1.153 | 0.541 |
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.075 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.039 | 0.000 |
| predicted_AVG | 0.159 | -0.044 |
| predicted_BB | 0.356 | -0.001 |
| predicted_H | 0.802 | -0.002 |
| predicted_HBP | 0.071 | 0.000 |
| predicted_HR | 0.037 | 0.000 |
| predicted_OBP | 0.215 | -0.011 |
| predicted_R | 0.534 | -0.004 |
| predicted_RBI | 0.466 | -0.003 |
| predicted_SLG | 0.197 | -0.034 |
| predicted_SO | 1.156 | 0.002 |
AB rounded to 5 (raw=5.04), rates preserved: AVG=0.159 HR/AB=0.007
| 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.075 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.039 |
| predicted_AVG | 0.200 | 0.041 |
| predicted_BB | 0.000 | -0.356 |
| predicted_H | 1.000 | 0.198 |
| predicted_HR | 0.000 | -0.037 |
| predicted_OBP | 0.200 | -0.015 |
| predicted_R | 1.000 | 0.466 |
| predicted_RBI | 0.000 | -0.466 |
| predicted_SLG | 0.200 | 0.003 |
| predicted_SO | 1.000 | -0.156 |
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 | 2 | - | 15.000 | 1.000 | 0.000 | 0.000 | 0.000 | 4.000 | 1.000 | 0.000 | 6.000 | 0.0667 | 0.0667 | 0.0667 | 0.0667 | 0.0000 | 0.2667 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 6 | - | 24.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 2.000 | 0.000 | 8.000 | 0.0833 | 0.0833 | 0.0833 | 0.0833 | 0.0000 | 0.1667 | 0.0000 | 0.3333 |
| season | 0.60 | 34 | - | 313.000 | 53.000 | 5.000 | 0.000 | 0.000 | 17.000 | 35.000 | 27.000 | 63.000 | 0.1693 | 0.2386 | 0.1853 | 0.1693 | 0.0000 | 0.0543 | 0.0863 | 0.2013 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1110 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.7230 |
| predicted_AVG | 0.1515 |
| predicted_BB | 0.4850 |
| predicted_H | 1.1710 |
| predicted_HBP | 0.0710 |
| predicted_HR | 0.0200 |
| predicted_OBP | 0.2021 |
| predicted_R | 0.8040 |
| predicted_RBI | 0.7620 |
| predicted_SLG | 0.1744 |
| predicted_SO | 1.8800 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0490 | 0.1110 | 0.0755 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.0390 | 7.7230 | 5.0392 | model_form_blend |
| predicted_AVG | 0.2420 | 0.1515 | 0.2034 | model_form_blend |
| predicted_BB | 0.2620 | 0.4850 | 0.3572 | model_form_blend |
| predicted_H | 0.5300 | 1.1710 | 0.8037 | model_form_blend |
| predicted_HBP | - | 0.0710 | 0.0710 | form_only |
| predicted_HR | 0.0500 | 0.0200 | 0.0372 | model_form_blend |
| predicted_OBP | 0.2430 | 0.2021 | 0.2255 | model_form_blend |
| predicted_R | 0.3400 | 0.8040 | 0.5381 | model_form_blend |
| predicted_RBI | 0.2500 | 0.7620 | 0.4686 | model_form_blend |
| predicted_SLG | 0.2720 | 0.1744 | 0.2303 | model_form_blend |
| predicted_SO | 0.6120 | 1.8800 | 1.1535 | 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 | 108 |
| Season rows before report date | 108 |
| 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 | 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.169 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 8 |
| Hitting_substitutionOrder | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | PR-CF |
| gameID | 20260526_MIN@CHW |
| game_type | ph |
| mlbID | 682668 |
| note | Ran for Romo in the 10th. |
| playerID | 682668 |
| playerName | Luisangel Acuña |
| pos | CF |
| started | False |
| startingPosition | PR |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-26 |
| sl_k_percent | 18.4 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.193 |
| sl_xwoba | 0.267 |
| sl_xba | 0.237 |
| sl_xslg | 0.297 |
| sl_sweet_spot_percent | 18.2 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 37.7 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 2.3 |
| sl_whiff_percent | 24.2 |
| sl_swing_percent | 49.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 | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.200 | 2.000 | -1.200 | -2.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.400 | 4.000 | -1.400 | -4.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 5.100 | 6.000 | -3.100 | -4.000 |
| predicted_IP | 7.000 | 7.000 | 7.000 | Pitching_InningsPitched | 6.050 | 5.200 | 0.950 | 1.800 |
| predicted_SO | 7.000 | 7.000 | 7.000 | Pitching_SO | 6.600 | 7.000 | 0.400 | 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_SO: 6.0000 -> 7.0000 (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 | pitcher_quality_guardrail | 1 | 1 | 0 | 1 | 0 | predicted_SO: 6.0000 -> 7.0000 (boost 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": "663436",
"player_name": "Davis Martin",
"position": "Starter",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 7.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": "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": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 7.0,
"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": 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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"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": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"direction": "boost",
"projection_effect": "better",
"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": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_IP": 7.0,
"predicted_R": 0.0,
"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": 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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 7.0,
"after": 7.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"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": 6.0,
"after": 7.0,
"delta": 1.0,
"percent_delta": 0.1667,
"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 | 2.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 7.000 | - |
| predicted_SO | 6.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 | 2.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 7.000 | 0.000 |
| predicted_SO | 7.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 | 30.100 | 7.000 | 26.000 | 5.000 | 40.000 | 1.000 | 2.0769 | 1.0220 | 0.2308 | 0.8571 | 0.1648 | 1.3187 | 0.0330 |
| last_10 | 0.35 | 10 | 61.200 | 14.000 | 51.000 | 12.000 | 66.000 | 3.000 | 2.0432 | 1.0216 | 0.2270 | 0.8270 | 0.1946 | 1.0703 | 0.0486 |
| season | 0.20 | 10 | 61.200 | 14.000 | 51.000 | 12.000 | 66.000 | 3.000 | 2.0432 | 1.0216 | 0.2270 | 0.8270 | 0.1946 | 1.0703 | 0.0486 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5300 |
| predicted_ER | 1.9620 |
| predicted_ERA | 2.7884 |
| predicted_H | 5.5540 |
| predicted_HR | 0.4450 |
| predicted_IP | 6.1000 |
| predicted_SO | 7.1020 |
| predicted_WHIP | 1.1186 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.5300 | 0.7790 | model_form_blend |
| predicted_ER | 0.0000 | 1.9620 | 0.9990 | model_form_blend |
| predicted_ERA | - | 2.7884 | 2.7884 | form_only |
| predicted_H | 2.0000 | 5.5540 | 3.8096 | model_form_blend |
| predicted_HR | 0.0000 | 0.4450 | 0.2266 | model_form_blend |
| predicted_IP | 7.0000 | 6.1000 | 6.2000 | model_form_blend |
| predicted_SO | 6.0000 | 7.1020 | 6.5611 | model_form_blend |
| predicted_WHIP | - | 1.1186 | 1.1186 | 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 | 7.0 |
| H | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 7 |
| HR | 0 |
| BF | 23 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 26 |
| Pitching_ER | 4 |
| Pitching_ERA | 2.04 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 11 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 5.2 |
| Pitching_Pitches | 98 |
| Pitching_R | 4 |
| Pitching_SO | 7 |
| Pitching_Strikes | 60 |
| Pitching_Wild Pitch | 2 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260522_CHW@SF |
| game_type | full |
| mlbID | 663436 |
| playerID | 663436 |
| playerName | Davis Martin |
| pos | P |
| started | True |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-22 |
| game_pk | 823223.0 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 5.0 |
| sl_woba | 0.274 |
| sl_xwoba | 0.3 |
| sl_sweet_spot_percent | 35.0 |
| sl_barrel_batted_rate | 7.6 |
| sl_hard_hit_percent | 46.9 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 50.0 |
| sv_pitch_count | 98.0 |
| sv_outs_recorded_est | 17.0 |
| sv_release_speed | 90.35116279069769 |
| sv_release_spin_rate | 2470.395348837209 |
| sv_effective_speed | 90.77906976744184 |
| sv_launch_speed | 83.92999999999999 |
| sv_launch_angle | 6.2 |
| sv_woba_value | 8.4 |
| sv_woba_denom | 16.0 |
| sv_delta_run_exp | -0.194 |
| sv_delta_home_win_exp | -0.13 |
| sl_avg_best_speed | 79.506758462 |
| sl_avg_hyper_speed | 95.06523641 |
| 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.417 | 0.000 | 2.583 | 3.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.875 | 0.000 | -0.875 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.871 | 1.000 | 0.129 | 0.000 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 0.958 | 1.000 | 1.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": "663542",
"player_name": "Bryan Hudson",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 3.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": 3.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": 3.0,
"after": 3.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": 3.0,
"after": 3.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 | 3.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.000 | 2.000 | 5.000 | 1.000 | 2.000 | 0.000 | 3.6000 | 1.2000 | 0.4000 | 1.0000 | 0.2000 | 0.4000 | 0.0000 |
| last_10 | 0.35 | 10 | 10.000 | 2.000 | 10.000 | 2.000 | 7.000 | 0.000 | 1.8000 | 1.2000 | 0.2000 | 1.0000 | 0.2000 | 0.7000 | 0.0000 |
| season | 0.20 | 24 | 23.000 | 4.000 | 21.000 | 10.000 | 23.000 | 0.000 | 1.5652 | 1.3478 | 0.1739 | 0.9130 | 0.4348 | 1.0000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3110 |
| predicted_ER | 0.3830 |
| predicted_ERA | 3.4429 |
| predicted_H | 0.9620 |
| predicted_HR | 0.0690 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7920 |
| predicted_WHIP | 1.2728 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 3.0000 | 0.3110 | 1.8478 | model_form_blend |
| predicted_ER | 0.0000 | 0.3830 | 0.1641 | model_form_blend |
| predicted_ERA | - | 3.4429 | 3.4429 | form_only |
| predicted_H | 0.0000 | 0.9620 | 0.4122 | model_form_blend |
| predicted_HR | 0.0000 | 0.0690 | 0.0296 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 0.7920 | 1.4824 | model_form_blend |
| predicted_WHIP | - | 1.2728 | 1.2728 | 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 | 3 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 17 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.57 |
| 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_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260519_CHW@SEA |
| game_type | full |
| mlbID | 663542 |
| playerID | 663542 |
| playerName | Bryan Hudson |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-05-19 |
| game_pk | 823136.0 |
| sl_k_percent | 23.6 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.274 |
| sl_xwoba | 0.271 |
| sl_sweet_spot_percent | 26.8 |
| sl_barrel_batted_rate | 1.4 |
| sl_hard_hit_percent | 32.4 |
| sl_whiff_percent | 25.9 |
| sl_swing_percent | 46.4 |
| sv_pitch_count | 11.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 89.7090909090909 |
| sv_release_spin_rate | 2132.5454545454545 |
| sv_effective_speed | 91.4090909090909 |
| sv_launch_speed | 87.175 |
| sv_launch_angle | 6.75 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.774 |
| sv_delta_home_win_exp | -0.032 |
| sl_avg_best_speed | 77.285747059 |
| sl_avg_hyper_speed | 92.851645224 |
| 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 | 0.000 | -0.333 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 1.017 | 1.100 | -0.017 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.333 | 1.000 | -1.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": "691799",
"player_name": "Grant Taylor",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "current_json_final",
"description": "Final player values currently stored in the game JSON",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null,
"has_material_change": false,
"dominant_effect": "neutral"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 1.000 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 5.100 | 0.000 | 4.000 | 1.000 | 7.000 | 0.000 | 0.0000 | 0.9375 | 0.0000 | 0.7500 | 0.1875 | 1.3125 | 0.0000 |
| last_10 | 0.35 | 6 | 6.100 | 1.000 | 6.000 | 2.000 | 8.000 | 0.000 | 1.4211 | 1.2632 | 0.1579 | 0.9474 | 0.3158 | 1.2632 | 0.0000 |
| season | 0.20 | 6 | 6.100 | 1.000 | 6.000 | 2.000 | 8.000 | 0.000 | 1.4211 | 1.2632 | 0.1579 | 0.9474 | 0.3158 | 1.2632 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3360 |
| predicted_ER | 0.3810 |
| predicted_ERA | 3.4316 |
| predicted_H | 0.9100 |
| predicted_HR | 0.1050 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0160 |
| predicted_WHIP | 1.2460 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3360 | 0.1048 | model_form_blend |
| predicted_ER | 0.0000 | 0.3810 | 0.1189 | model_form_blend |
| predicted_ERA | - | 3.4316 | 3.4316 | form_only |
| predicted_H | 0.0000 | 0.9100 | 0.2839 | model_form_blend |
| predicted_HR | 0.0000 | 0.1050 | 0.0328 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.0160 | 0.3169 | model_form_blend |
| predicted_WHIP | - | 1.2460 | 1.2460 | 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 | 6 |
| Season rows before report date | 6 |
| Report year | 2026 |
| Profile rows used | 6 |
| 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 | 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 | 6 |
| Pitching_ER | 0 |
| Pitching_ERA | 1.42 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 1 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 2 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 22 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260409_CHW@KC |
| game_type | full |
| mlbID | 691799 |
| playerID | 691799 |
| playerName | Grant Taylor |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-04-09 |
| game_pk | 824130.0 |
| sl_k_percent | 34.8 |
| sl_bb_percent | 8.0 |
| sl_woba | 0.275 |
| sl_xwoba | 0.25 |
| sl_sweet_spot_percent | 32.8 |
| sl_barrel_batted_rate | 6.3 |
| sl_hard_hit_percent | 42.2 |
| sl_whiff_percent | 29.3 |
| sl_swing_percent | 48.8 |
| sv_pitch_count | 22.0 |
| sv_outs_recorded_est | 4.0 |
| sv_release_speed | 94.2909090909091 |
| sv_release_spin_rate | 2537.5454545454545 |
| sv_effective_speed | 95.62272727272726 |
| sv_launch_speed | 84.075 |
| sv_launch_angle | 12.625 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 6.0 |
| sv_delta_run_exp | -0.404 |
| sv_delta_home_win_exp | -0.161 |
| sl_avg_best_speed | 79.439303125 |
| sl_avg_hyper_speed | 94.235363968 |
| 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 | 1.000 | -0.500 | -1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 1.000 | 2.000 | -1.000 | -2.000 |
| predicted_H | 2.000 | 2.000 | 2.000 | Pitching_H | 1.500 | 2.000 | 0.500 | 0.000 |
| predicted_IP | 0.000 | 0.000 | 0.000 | Pitching_InningsPitched | 0.550 | 0.100 | -0.550 | -0.100 |
| 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 | worse |
| Changed Metrics | 2 |
| Boosted Metrics | 0 |
| Deboosted Metrics | 2 |
| Better Metrics | 0 |
| Worse Metrics | 2 |
| Biggest Boost | - |
| Biggest Deboost | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 2 | 0 | 2 | 0 | 2 | - | predicted_SO: 1.0000 -> 0.0000 (deboost -1.0000, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "622554",
"player_name": "Seranthony Domínguez",
"position": "Middle Reliever",
"team": "CHW",
"interpretation": "Boost/deboost is numeric movement vs the previous step. Better/worse is role-aware: hitter offense up is better; pitcher run prevention down is better.",
"steps": [
{
"index": 1,
"step": "pitcher_form_blend",
"description": "Pitcher model/profile expectation with Bayesian recent-form shrinkage",
"stats": {
"predicted_BB": 0.0,
"predicted_ER": 0.0,
"predicted_H": 2.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": 2.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "pitcher_form_blend",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 2.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 | 1.100 | 2.000 | 3.000 | 1.000 | 0.000 | 1.000 | 13.5000 | 3.0000 | 1.5000 | 2.2500 | 0.7500 | 0.0000 | 0.7500 |
| last_10 | 0.35 | 2 | 1.100 | 2.000 | 3.000 | 1.000 | 0.000 | 1.000 | 13.5000 | 3.0000 | 1.5000 | 2.2500 | 0.7500 | 0.0000 | 0.7500 |
| season | 0.20 | 2 | 1.100 | 2.000 | 3.000 | 1.000 | 0.000 | 1.000 | 13.5000 | 3.0000 | 1.5000 | 2.2500 | 0.7500 | 0.0000 | 0.7500 |
| Metric | Value |
|---|---|
| predicted_BB | 0.1360 |
| predicted_ER | 0.1830 |
| predicted_ERA | 4.7041 |
| predicted_H | 0.3530 |
| predicted_HR | 0.0570 |
| predicted_IP | 0.1000 |
| predicted_SO | 0.3140 |
| predicted_WHIP | 1.3965 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.1360 | 0.0338 | model_form_blend |
| predicted_ER | 0.0000 | 0.1830 | 0.0455 | model_form_blend |
| predicted_ERA | - | 4.7041 | 4.7041 | form_only |
| predicted_H | 2.0000 | 0.3530 | 1.5905 | model_form_blend |
| predicted_HR | 0.0000 | 0.0570 | 0.0142 | model_form_blend |
| predicted_IP | 0.1000 | 0.1000 | 0.1000 | model_form_blend |
| predicted_SO | 1.0000 | 0.3140 | 0.8294 | model_form_blend |
| predicted_WHIP | - | 1.3965 | 1.3965 | 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.0 |
| H | 2 |
| 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 | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 2 |
| Pitching_ERA | 13.50 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 3 |
| Pitching_Inherited Runners Scored | 3 |
| Pitching_InningsPitched | 0.1 |
| Pitching_Pitches | 19 |
| Pitching_R | 2 |
| Pitching_SO | 0 |
| Pitching_Strikes | 10 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | L, BS |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260329_CHW@MIL |
| game_type | full |
| mlbID | 622554 |
| playerID | 622554 |
| playerName | Seranthony Domínguez |
| pos | P |
| started | False |
| startingPosition | P |
| team | CHW |
| teamID | 6 |
| game_date | 2026-03-29 |
| game_pk | 823810.0 |
| sl_k_percent | 28.6 |
| sl_bb_percent | 12.1 |
| sl_woba | 0.319 |
| sl_xwoba | 0.37 |
| sl_sweet_spot_percent | 42.3 |
| sl_barrel_batted_rate | 11.8 |
| sl_hard_hit_percent | 36.5 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 43.2 |
| sv_pitch_count | 19.0 |
| sv_outs_recorded_est | 1.0 |
| sv_release_speed | 92.93157894736842 |
| sv_release_spin_rate | 2148.157894736842 |
| sv_effective_speed | 92.93157894736842 |
| sv_launch_speed | 82.55 |
| sv_launch_angle | 24.166666666666668 |
| sv_woba_value | 3.6 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 2.256 |
| sv_delta_home_win_exp | 0.681 |
| sl_avg_best_speed | 80.4598 |
| sl_avg_hyper_speed | 94.703988627 |
| Layer | Score | Winner | Confidence | Source or usage | Synced or matches |
|---|---|---|---|---|---|
| Shipped prediction | TOR 5 - 4 BAL | TOR | 0.545 | enhanced_prediction.pre_simulation_target | True |
| Simulation draw | TOR 7 - 5 BAL | TOR | - | 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.5450 |
| 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 | 7.450 | 5.304 | - | Base ML historical model prediction |
| 2 | variance_applied | 7 | 5 | - | Random variance applied (0.9-1.1) |
| 3 | enhanced_prediction | 5 | 3 | 0.5450 | Enhanced ML with recent form, H2H, low-score analysis |
| 4 | embedded_savant_run_environment | 5 | 4 | - | Target score adjusted by temporal Savant lineup quality versus opposing starter quality |
| 5 | capped_target | 5 | 4 | - | Capped at max 12 realistic runs |
| 6 | simulation_result | 7 | 5 | - | Final inning-by-inning simulation result |
{
"low_score_probability": 0.463909090909091,
"base_low_score_probability": 0.43315508021390375,
"low_score_signal_threshold": 0.5131550802139038,
"low_score_signal_strength": 0.03075401069518724,
"confidence": 0.6355000000000001,
"factors": {
"environmental": 1.0710000000000002,
"pitcher_form": 1.0,
"team_form": 1.0,
"situational": 1.0,
"combined": 1.0710000000000002
},
"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": 12,
"score_source": "enhanced_prediction.pre_simulation_target"
}{
"method": "historical_slate_bin_shrinkage",
"sample_size": 35,
"near_bucket_sample_size": 6,
"medium_bucket_sample_size": 14,
"wide_bucket_sample_size": 35,
"global_sample_size": 35,
"bucket_scope": "pooled_0.12",
"sparse_bucket": false,
"empirical_hit_rate": 0.4857,
"bayesian_hit_rate": 0.4906,
"sample_weight": 0.5613,
"prior_strength": 18.0,
"reliability": 0.6604,
"confidence_cap": 0.545,
"raw_pick_probability": 0.6275,
"calibrated_pick_probability": 0.545,
"predicted_side": "away"
}{
"applied": true,
"home": {
"team": "BAL",
"games": 56,
"wins": 26,
"losses": 30,
"win_pct": 0.4642857142857143,
"runs_scored": 254,
"runs_allowed": 295,
"run_differential": -41,
"run_differential_per_game": -0.7321428571428571,
"available": true
},
"away": {
"team": "TOR",
"games": 56,
"wins": 27,
"losses": 29,
"win_pct": 0.48214285714285715,
"runs_scored": 226,
"runs_allowed": 230,
"run_differential": -4,
"run_differential_per_game": -0.07142857142857142,
"available": true
},
"run_differential_edge_per_game": -0.6607,
"win_pct_edge": -0.0179,
"quality_edge": -0.6875,
"margin_adjustment": -0.2888,
"reason": "season-to-date run differential and record moved the score toward the stronger team",
"adjusted_score": {
"away_runs": 5.215,
"home_runs": 2.41,
"home_win_probability": 0.2616
}
}{
"applied": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"predicted_team": "TOR",
"guardrail_predicted_team": "TOR",
"guardrail_opponent_team": null,
"output_pre_simulation_winner": "TOR",
"output_opponent_team": "BAL",
"final_score_winner": "TOR",
"pre_simulation_winner": "TOR",
"winner_flipped_by_simulation": false
},
"final_prediction_sync": {
"pre_simulation_score": {
"away_runs": 5,
"home_runs": 4,
"score_text": "TOR 5 - 4 BAL",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 5,
"score_text": "TOR 7 - 5 BAL",
"winner": "TOR"
},
"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": false,
"confidence_cap": null,
"winner_flipped": false,
"reasons": [],
"signals": {
"home": {
"team": "BAL",
"games": 56,
"wins": 26,
"losses": 30,
"win_pct": 0.4642857142857143,
"runs_scored": 254,
"runs_allowed": 295,
"run_differential": -41,
"run_differential_per_game": -0.7321428571428571,
"available": true
},
"away": {
"team": "TOR",
"games": 56,
"wins": 27,
"losses": 29,
"win_pct": 0.48214285714285715,
"runs_scored": 226,
"runs_allowed": 230,
"run_differential": -4,
"run_differential_per_game": -0.07142857142857142,
"available": true
}
}
}{
"applied": true,
"raw_margin": -2.8047,
"final_margin": -1.5,
"margin_cap": 1.5,
"season_quality_edge": 0.6875,
"reason": "large target margin capped because season quality evidence did not justify a decisive prediction",
"adjusted_score": {
"away_runs": 4.563,
"home_runs": 3.063
}
}{
"applied": false,
"raw_confidence": 0.545,
"final_confidence": 0.545,
"confidence_cap": 0.545,
"score_gap": 1.5,
"calibration_sample_size": 35,
"calibration_empirical_hit_rate": 0.4857,
"calibration_bayesian_hit_rate": 0.4906,
"calibration_sparse_bucket": false,
"season_quality_edge": 0.6875,
"reasons": [
"unvalidated probabilities are capped for production display",
"projected score gap is moderate",
"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": 5,
"home_runs": 4,
"score_text": "TOR 5 - 4 BAL",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 5,
"score_text": "TOR 7 - 5 BAL",
"winner": "TOR"
},
"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": 5,
"home_runs": 4,
"confidence": 0.5449999999999999,
"home_win_probability": 0.45500000000000007,
"away_win_probability": 0.5449999999999999,
"predicted_score_text": "TOR 5 - 4 BAL",
"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": 5,
"run_delta": 0.4149,
"adjusted_runs": 5,
"lineup": {
"players_used": 9,
"total_weight": 67.0,
"quality": -0.02030136613532607,
"contact": 0.06155828126913706,
"power": -0.1391130879959416,
"discipline": 0.033924017011291524,
"xwoba": 0.3128208955223881,
"recent_xwoba": 0.3128208955223881,
"barrel": 6.556716417910447,
"ab_hard_contact": -0.23406559787194922,
"ab_bat_speed": 70.01134133775655,
"ab_strikeout_rate": 0.1799086055899878,
"available_players": 9,
"top_players": [
{
"player_id": "665926",
"player_name": "Andrés Giménez",
"position": "SS",
"weight": 7.0,
"quality": -0.9303434903332624,
"contact": -1.2514957600373473,
"power": -1.2135088149958737,
"discipline": -0.5357296918767507,
"xwoba": 0.251,
"recent_xwoba": 0.251,
"barrel": 3.4,
"ab_hard_contact": -0.7958905856317767,
"ab_bat_speed": 66.02999455337691,
"ab_strikeout_rate": 0.18137254901960784,
"available": 1.0
},
{
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"position": "1B",
"weight": 8.0,
"quality": 0.7641726008306272,
"contact": 1.1915510144724566,
"power": 0.2918031604165141,
"discipline": 1.04046918767507,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 7.1,
"ab_hard_contact": 0.7221584464254903,
"ab_bat_speed": 75.3992907718643,
"ab_strikeout_rate": 0.11274509803921569,
"available": 1.0
},
{
"player_id": "676391",
"player_name": "Ernie Clement",
"position": "2B",
"weight": 9.0,
"quality": -0.5282743948936902,
"contact": -0.3376018023360272,
"power": -0.895086443682465,
"discipline": 0.23106828391734058,
"xwoba": 0.281,
"recent_xwoba": 0.281,
"barrel": 2.6,
"ab_hard_contact": -0.32420506412552097,
"ab_bat_speed": 65.79877403846154,
"ab_strikeout_rate": 0.08050314465408805,
"available": 1.0
},
{
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"position": "3B",
"weight": 8.0,
"quality": 0.4509482812650163,
"contact": 0.17376187441643415,
"power": 1.0978083245099288,
"discipline": -0.4841629318394024,
"xwoba": 0.324,
"recent_xwoba": 0.324,
"barrel": 14.3,
"ab_hard_contact": 0.3605474425795079,
"ab_bat_speed": 71.43154139433551,
"ab_strikeout_rate": 0.31209150326797386,
"available": 1.0
},
{
"player_id": "660821",
"player_name": "Jesús Sánchez",
"position": "RF",
"weight": 6.0,
"quality": 0.4831352975892599,
"contact": 0.9250303113553122,
"power": 0.7564906048160683,
"discipline": -0.5561190476190476,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 8.7,
"ab_hard_contact": 0.22771685822610932,
"ab_bat_speed": 71.4611511826953,
"ab_strikeout_rate": 0.20833333333333331,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "605135",
"player_name": "Chris Bassitt",
"quality": -0.5106429754592714,
"contact": -0.7035205525722381,
"command": -0.5900305948949219,
"movement": -1.2121796126163256,
"xwoba": 0.345,
"whiff": 22.1,
"faced_est_woba": 0.3455218024355355,
"faced_launch_speed": 82.7570604268023,
"faced_strikeout_rate": 0.14306875224953028,
"faced_run_exp": -0.012104175517059798
}
},
"home": {
"team": "BAL",
"original_runs": 3,
"run_delta": 0.7009,
"adjusted_runs": 4,
"lineup": {
"players_used": 9,
"total_weight": 71.0,
"quality": 0.20020837730014857,
"contact": 0.18132574514577238,
"power": 0.16146227553936812,
"discipline": 0.13653427507357474,
"xwoba": 0.32232394366197187,
"recent_xwoba": 0.32232394366197187,
"barrel": 7.618309859154929,
"ab_hard_contact": 0.13886858255125073,
"ab_bat_speed": 70.71761376353977,
"ab_strikeout_rate": 0.23744158005720997,
"available_players": 9,
"top_players": [
{
"player_id": "624413",
"player_name": "Pete Alonso",
"position": "1B",
"weight": 10.0,
"quality": 1.1685916075753218,
"contact": 1.1601684390371543,
"power": 1.5493536504749308,
"discipline": 0.09433333333333338,
"xwoba": 0.364,
"recent_xwoba": 0.364,
"barrel": 13.0,
"ab_hard_contact": 1.136787295212869,
"ab_bat_speed": 73.30725213675214,
"ab_strikeout_rate": 0.24345238095238095,
"available": 1.0
},
{
"player_id": "668939",
"player_name": "Adley Rutschman",
"position": "C",
"weight": 10.0,
"quality": 0.4419757232526993,
"contact": 0.8984064585034024,
"power": 0.5065184031513859,
"discipline": 0.6308095238095237,
"xwoba": 0.356,
"recent_xwoba": 0.356,
"barrel": 8.7,
"ab_hard_contact": 0.045415682075306565,
"ab_bat_speed": 70.23284557823129,
"ab_strikeout_rate": 0.14404761904761906,
"available": 1.0
},
{
"player_id": "641933",
"player_name": "Tyler O'Neill",
"position": "RF",
"weight": 5.0,
"quality": -0.3115899288887632,
"contact": -1.0398392273425483,
"power": -0.7559707635378348,
"discipline": 0.028990015360983168,
"xwoba": 0.275,
"recent_xwoba": 0.275,
"barrel": 4.5,
"ab_hard_contact": -0.272939080280532,
"ab_bat_speed": 70.85026433691756,
"ab_strikeout_rate": 0.23279569892473118,
"available": 1.0
},
{
"player_id": "621493",
"player_name": "Taylor Ward",
"position": "DH",
"weight": 9.0,
"quality": 0.2394132283986591,
"contact": 0.4193430079365084,
"power": -0.3222290289592367,
"discipline": 1.502280112044818,
"xwoba": 0.349,
"recent_xwoba": 0.349,
"barrel": 4.7,
"ab_hard_contact": 0.18208608748191285,
"ab_bat_speed": 65.47930633364456,
"ab_strikeout_rate": 0.20686274509803923,
"available": 1.0
},
{
"player_id": "665750",
"player_name": "Leody Taveras",
"position": "CF",
"weight": 7.0,
"quality": -0.10990216335217581,
"contact": -0.02071407897793069,
"power": -0.45337868391701297,
"discipline": 0.5284471544715444,
"xwoba": 0.329,
"recent_xwoba": 0.329,
"barrel": 5.1,
"ab_hard_contact": -0.5376689164355414,
"ab_bat_speed": 68.4263617886179,
"ab_strikeout_rate": 0.2595528455284553,
"available": 1.0
}
]
},
"opposing_starter": {
"available": true,
"player_id": "571578",
"player_name": "Patrick Corbin",
"quality": -0.6284368613685277,
"contact": -1.2365431407376961,
"command": -0.48710882599088756,
"movement": -1.333561486786197,
"xwoba": 0.361,
"whiff": 20.3,
"faced_est_woba": 0.38666869676383403,
"faced_launch_speed": 84.20675816379183,
"faced_strikeout_rate": 0.14891421983813288,
"faced_run_exp": -0.014726731245555975
}
}
},
"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": 4,
"predicted_score_text": "TOR 5 - 4 BAL",
"confidence": 0.5449999999999999,
"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": 4,
"score_text": "TOR 5 - 4 BAL",
"winner": "TOR"
},
"final_simulation_score": {
"away_runs": 7,
"home_runs": 5,
"score_text": "TOR 7 - 5 BAL",
"winner": "TOR"
},
"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 TOR | True | 1.0073 | 1.0073 | 1 | 9 | 0 |
| Home BAL | True | 1.0192 | 1.0192 | 1 | 9 | 0 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1B | Vladimir Guerrero Jr. | 105 | 1.0714 | 0.9526 | neutral | 0.3640 | 0.3020 | 0.4250 | 7.10 | 42.90 | 90.40 | 8.90 | 20.10 | 10.30 | 12.60 | 0.6286 |
| LF | Nathan Lukes | 173 | 0.9979 | -0.0286 | neutral | 0.3090 | 0.2850 | 0.3710 | 0 | 38.80 | 87 | 15.90 | 14.20 | 13.10 | 1.60 | 0.0286 |
| CF | Daulton Varsho | 64 | 1.0033 | 0.0440 | neutral | 0.3150 | 0.2620 | 0.3760 | 6.20 | 39.30 | 86.40 | 14.40 | 21.40 | 19.40 | 9.20 | -0.6857 |
| DH | George Springer | 338 | 0.9935 | -0.0868 | neutral | 0.2990 | 0.2160 | 0.3760 | 8.30 | 37.60 | 87.60 | 15.50 | 25.20 | 19.60 | 8.90 | -0.0286 |
| 3B | Kazuma Okamoto | 147 | 1.0508 | 0.6769 | neutral | 0.3240 | 0.2200 | 0.4360 | 14.30 | 52.40 | 92.80 | 18 | 33 | 32 | 10 | 0.3714 |
| RF | Jesús Sánchez | 213 | 1.0547 | 0.7288 | neutral | 0.3490 | 0.2940 | 0.4790 | 8.70 | 46.50 | 91.20 | 11 | 25.10 | 20.20 | 4 | 0.2571 |
| 2B | Ernie Clement | 115 | 0.9489 | -0.6817 | negative_batter_regression | 0.2810 | 0.2610 | 0.3560 | 2.60 | 25.70 | 85.90 | 15.80 | 13.70 | 8.30 | 3.70 | -1.6857 |
| SS | Andrés Giménez | 283 | 0.9279 | -0.9611 | neutral | 0.2510 | 0.2140 | 0.2980 | 3.40 | 23.30 | 85.60 | 10.10 | 24.10 | 17.90 | 3.20 | -0.6286 |
| C | Brandon Valenzuela | 119 | 1.0169 | 0.2258 | neutral | 0.3350 | 0.2590 | 0.4090 | 7.40 | 39.70 | 89.20 | 16.70 | 26.10 | 23.80 | 11.40 | 0.0571 |
| Pos | Player | ESPN Rank | Off Factor | Quality | Regression | xwOBA | xBA | xSLG | Barrel% | HardHit% | EV | LA | Whiff% | K% | BB% | Regression Edge |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SS | Gunnar Henderson | 181 | 0.9941 | -0.0791 | neutral | 0.2920 | 0.2260 | 0.3870 | 9.30 | 43.80 | 89.50 | 13.20 | 26 | 27.80 | 6 | -0.2571 |
| 1B | Pete Alonso | 87 | 1.1071 | 1.4275 | positive_batter_regression | 0.3640 | 0.2600 | 0.5060 | 13 | 55.20 | 95 | 15.10 | 28.30 | 23.30 | 11 | 0.9429 |
| C | Adley Rutschman | 106 | 1.0474 | 0.6314 | neutral | 0.3560 | 0.2780 | 0.4560 | 8.70 | 45.20 | 89.20 | 17 | 14.40 | 15.60 | 9.10 | 0.1143 |
| DH | Taylor Ward | 68 | 1.0331 | 0.4407 | neutral | 0.3490 | 0.2490 | 0.3650 | 4.70 | 38.50 | 89.10 | 13.60 | 18.70 | 20.20 | 19.40 | 0 |
| 3B | Coby Mayo | 512 | 0.9993 | -0.0097 | neutral | 0.2900 | 0.2180 | 0.3620 | 8.10 | 45.30 | 91.10 | 19.20 | 29.50 | 30.80 | 8.40 | 0.6571 |
| 2B | Jackson Holliday | 275 | 0.9880 | -0.1604 | neutral | 0.2880 | 0.1750 | 0.3050 | 7.70 | 38.50 | 91.30 | 26.80 | 35.10 | 27.30 | 13.60 | -0.7143 |
| RF | Tyler O'Neill | 507 | 0.9820 | -0.2395 | positive_batter_regression | 0.2750 | 0.1800 | 0.3100 | 4.50 | 36.40 | 87.70 | 23.40 | 31.60 | 23.80 | 11.40 | 1 |
| CF | Leody Taveras | 92 | 1.0037 | 0.0499 | neutral | 0.3290 | 0.2510 | 0.3730 | 5.10 | 32.30 | 87.90 | 15.10 | 24.10 | 21.60 | 13.10 | -0.5714 |
| LF | Blaze Alexander | 410 | 1.0178 | 0.2375 | positive_batter_regression | 0.3120 | 0.2810 | 0.3770 | 3.70 | 47.60 | 92 | 8.40 | 32 | 27 | 6.30 | 1.4000 |
{
"home": {
"applied": true,
"offense_factor": 1.0192,
"raw_average_factor": 1.0192,
"team_espn_average_rank": 248.67,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "SS",
"player_id": "683002",
"player_name": "Gunnar Henderson",
"offense_factor": 0.9941,
"quality_score": -0.0791,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "683002",
"espn_id": 42507,
"player_name": "Gunnar Henderson",
"team": "BAL",
"role": "batter",
"espn_rank": 181,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 181,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 234.0,
"ab_rank": 1,
"r_value": 30.0,
"r_rank": 51,
"h_value": 52.0,
"h_rank": 58,
"avg_value": 0.2222222,
"avg_rank": 132.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 13.0,
"hr_rank": 12,
"rbi_value": 29.0,
"rbi_rank": 46,
"tb_value": 103.0,
"tb_rank": 235,
"bb_value": 15.0,
"bb_rank": 150,
"so_value": 70.0,
"so_rank": 11,
"sb_value": 6.0,
"sb_rank": 54,
"obp_value": 0.2738095,
"obp_rank": "155",
"slg_value": 0.4401709,
"slg_rank": "59",
"ops_value": 0.7139804,
"ops_rank": 95.0,
"war_value": 0.45,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 243.0,
"k_percent": 27.8,
"bb_percent": 6.0,
"woba": 0.301,
"xwoba": 0.292,
"xba": 0.226,
"xslg": 0.387,
"sweet_spot_percent": 28.4,
"barrel_batted_rate": 9.3,
"hard_hit_percent": 43.8,
"exit_velocity_avg": 89.5,
"launch_angle_avg": 13.2,
"whiff_percent": 26.0,
"swing_percent": 49.9
},
"components": {
"expected_quality": -0.0501,
"regression_edge": -0.2571,
"xwoba_edge": -0.3714,
"xba_edge": -0.3143,
"xslg_edge": 0.1929,
"barrel_edge": 0.5,
"hard_hit_edge": 0.6929,
"exit_velocity_edge": 0.28,
"sweet_spot_edge": -0.8167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "1B",
"player_id": "624413",
"player_name": "Pete Alonso",
"offense_factor": 1.1071,
"quality_score": 1.4275,
"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": 87,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 87,
"gp_value": 56.0,
"gp_rank": 8,
"ab_value": 212.0,
"ab_rank": 20,
"r_value": 31.0,
"r_rank": 45,
"h_value": 49.0,
"h_rank": 78,
"avg_value": 0.231132,
"avg_rank": 116.0,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 10.0,
"hr_rank": 36,
"rbi_value": 33.0,
"rbi_rank": 25,
"tb_value": 91.0,
"tb_rank": 361,
"bb_value": 26.0,
"bb_rank": 39,
"so_value": 55.0,
"so_rank": 40,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3153526,
"obp_rank": "108",
"slg_value": 0.4292452,
"slg_rank": "69",
"ops_value": 0.7445978,
"ops_rank": 80.0,
"war_value": 1.07,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 231.0,
"k_percent": 23.3,
"bb_percent": 11.0,
"woba": 0.331,
"xwoba": 0.364,
"xba": 0.26,
"xslg": 0.506,
"sweet_spot_percent": 33.8,
"barrel_batted_rate": 13.0,
"hard_hit_percent": 55.2,
"exit_velocity_avg": 95.0,
"launch_angle_avg": 15.1,
"whiff_percent": 28.3,
"swing_percent": 44.4
},
"components": {
"expected_quality": 1.5064,
"regression_edge": 0.9429,
"xwoba_edge": 1.6857,
"xba_edge": 0.6571,
"xslg_edge": 1.8929,
"barrel_edge": 1.3222,
"hard_hit_edge": 2.3214,
"exit_velocity_edge": 2.48,
"sweet_spot_edge": 0.0833,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "C",
"player_id": "668939",
"player_name": "Adley Rutschman",
"offense_factor": 1.0474,
"quality_score": 0.6314,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "668939",
"espn_id": 42178,
"player_name": "Adley Rutschman",
"team": "BAL",
"role": "batter",
"espn_rank": 106,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 106,
"gp_value": 38.0,
"gp_rank": 251,
"ab_value": 142.0,
"ab_rank": 188,
"r_value": 19.0,
"r_rank": 161,
"h_value": 38.0,
"h_rank": 149,
"avg_value": 0.2676056,
"avg_rank": null,
"2b_value": 12.0,
"2b_rank": 23,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 7.0,
"hr_rank": 63,
"rbi_value": 26.0,
"rbi_rank": 78,
"tb_value": 71.0,
"tb_rank": 669,
"bb_value": 15.0,
"bb_rank": 150,
"so_value": 24.0,
"so_rank": 258,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3396226,
"obp_rank": "-",
"slg_value": 0.5,
"slg_rank": "-",
"ops_value": 0.8396226,
"ops_rank": null,
"war_value": 0.98,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 15.6,
"bb_percent": 9.1,
"woba": 0.352,
"xwoba": 0.356,
"xba": 0.278,
"xslg": 0.456,
"sweet_spot_percent": 40.0,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 45.2,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 17.0,
"whiff_percent": 14.4,
"swing_percent": 41.3
},
"components": {
"expected_quality": 1.0654,
"regression_edge": 0.1143,
"xwoba_edge": 1.4571,
"xba_edge": 1.1714,
"xslg_edge": 1.1786,
"barrel_edge": 0.3667,
"hard_hit_edge": 0.8929,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 1.1167,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "DH",
"player_id": "621493",
"player_name": "Taylor Ward",
"offense_factor": 1.0331,
"quality_score": 0.4407,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "621493",
"espn_id": 34923,
"player_name": "Taylor Ward",
"team": "BAL",
"role": "batter",
"espn_rank": 68,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 68,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 200.0,
"ab_rank": 51,
"r_value": 33.0,
"r_rank": 36,
"h_value": 50.0,
"h_rank": 71,
"avg_value": 0.25,
"avg_rank": 87.0,
"2b_value": 15.0,
"2b_rank": 5,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 16.0,
"rbi_rank": 192,
"tb_value": 71.0,
"tb_rank": 1110,
"bb_value": 48.0,
"bb_rank": 3,
"so_value": 52.0,
"so_rank": 57,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3944223,
"obp_rank": "10",
"slg_value": 0.355,
"slg_rank": "130",
"ops_value": 0.7494223,
"ops_rank": 78.0,
"war_value": 1.28,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 241.0,
"k_percent": 20.2,
"bb_percent": 19.4,
"woba": 0.349,
"xwoba": 0.349,
"xba": 0.249,
"xslg": 0.365,
"sweet_spot_percent": 36.5,
"barrel_batted_rate": 4.7,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 89.1,
"launch_angle_avg": 13.6,
"whiff_percent": 18.7,
"swing_percent": 29.9
},
"components": {
"expected_quality": 0.5124,
"regression_edge": 0.0,
"xwoba_edge": 1.2571,
"xba_edge": 0.3429,
"xslg_edge": -0.1214,
"barrel_edge": -0.5222,
"hard_hit_edge": -0.0643,
"exit_velocity_edge": 0.12,
"sweet_spot_edge": 0.5333,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "3B",
"player_id": "691723",
"player_name": "Coby Mayo",
"offense_factor": 0.9993,
"quality_score": -0.0097,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "691723",
"espn_id": 4683371,
"player_name": "Coby Mayo",
"team": "BAL",
"role": "batter",
"espn_rank": 512,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 512,
"gp_value": 44.0,
"gp_rank": 196,
"ab_value": 133.0,
"ab_rank": 201,
"r_value": 16.0,
"r_rank": 197,
"h_value": 26.0,
"h_rank": 230,
"avg_value": 0.1954887,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 18.0,
"rbi_rank": 166,
"tb_value": 46.0,
"tb_rank": 1110,
"bb_value": 13.0,
"bb_rank": 176,
"so_value": 44.0,
"so_rank": 93,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.2702702,
"obp_rank": "-",
"slg_value": 0.3458646,
"slg_rank": "-",
"ops_value": 0.6161348,
"ops_rank": null,
"war_value": -0.66,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 143.0,
"k_percent": 30.8,
"bb_percent": 8.4,
"woba": 0.267,
"xwoba": 0.29,
"xba": 0.218,
"xslg": 0.362,
"sweet_spot_percent": 26.7,
"barrel_batted_rate": 8.1,
"hard_hit_percent": 45.3,
"exit_velocity_avg": 91.1,
"launch_angle_avg": 19.2,
"whiff_percent": 29.5,
"swing_percent": 43.2
},
"components": {
"expected_quality": -0.1243,
"regression_edge": 0.6571,
"xwoba_edge": -0.4286,
"xba_edge": -0.5429,
"xslg_edge": -0.1643,
"barrel_edge": 0.2333,
"hard_hit_edge": 0.9071,
"exit_velocity_edge": 0.92,
"sweet_spot_edge": -1.1,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "2B",
"player_id": "702616",
"player_name": "Jackson Holliday",
"offense_factor": 0.988,
"quality_score": -0.1604,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "702616",
"espn_id": 5080633,
"player_name": "Jackson Holliday",
"team": "BAL",
"role": "batter",
"espn_rank": 275,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 275,
"gp_value": 8.0,
"gp_rank": 463,
"ab_value": 19.0,
"ab_rank": 455,
"r_value": 4.0,
"r_rank": 388,
"h_value": 4.0,
"h_rank": 439,
"avg_value": 0.2105263,
"avg_rank": null,
"2b_value": 0.0,
"2b_rank": 450,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 4.0,
"rbi_rank": 383,
"tb_value": 7.0,
"tb_rank": 2115,
"bb_value": 3.0,
"bb_rank": 384,
"so_value": 6.0,
"so_rank": 441,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3043478,
"obp_rank": "-",
"slg_value": 0.368421,
"slg_rank": "-",
"ops_value": 0.6727688,
"ops_rank": null,
"war_value": 0.13,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 20.0,
"k_percent": 27.3,
"bb_percent": 13.6,
"woba": 0.313,
"xwoba": 0.288,
"xba": 0.175,
"xslg": 0.305,
"sweet_spot_percent": 46.2,
"barrel_batted_rate": 7.7,
"hard_hit_percent": 38.5,
"exit_velocity_avg": 91.3,
"launch_angle_avg": 26.8,
"whiff_percent": 35.1,
"swing_percent": 38.9
},
"components": {
"expected_quality": -0.2982,
"regression_edge": -0.7143,
"xwoba_edge": -0.4857,
"xba_edge": -1.7714,
"xslg_edge": -0.9786,
"barrel_edge": 0.1444,
"hard_hit_edge": -0.0643,
"exit_velocity_edge": 1.0,
"sweet_spot_edge": 2.15,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "641933",
"player_name": "Tyler O'Neill",
"offense_factor": 0.982,
"quality_score": -0.2395,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "641933",
"espn_id": 34168,
"player_name": "Tyler O'Neill",
"team": "BAL",
"role": "batter",
"espn_rank": 507,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 507,
"gp_value": 34.0,
"gp_rank": 280,
"ab_value": 93.0,
"ab_rank": 284,
"r_value": 13.0,
"r_rank": 244,
"h_value": 15.0,
"h_rank": 332,
"avg_value": 0.1612903,
"avg_rank": null,
"2b_value": 1.0,
"2b_rank": 395,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 8.0,
"rbi_rank": 302,
"tb_value": 22.0,
"tb_rank": 1761,
"bb_value": 12.0,
"bb_rank": 201,
"so_value": 26.0,
"so_rank": 235,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.271028,
"obp_rank": "-",
"slg_value": 0.2365591,
"slg_rank": "-",
"ops_value": 0.5075871,
"ops_rank": null,
"war_value": -0.63,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 101.0,
"k_percent": 23.8,
"bb_percent": 11.4,
"woba": 0.24,
"xwoba": 0.275,
"xba": 0.18,
"xslg": 0.31,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 4.5,
"hard_hit_percent": 36.4,
"exit_velocity_avg": 87.7,
"launch_angle_avg": 23.4,
"whiff_percent": 31.6,
"swing_percent": 46.1
},
"components": {
"expected_quality": -0.7695,
"regression_edge": 1.0,
"xwoba_edge": -0.8571,
"xba_edge": -1.6286,
"xslg_edge": -0.9071,
"barrel_edge": -0.5667,
"hard_hit_edge": -0.3643,
"exit_velocity_edge": -0.44,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "665750",
"player_name": "Leody Taveras",
"offense_factor": 1.0037,
"quality_score": 0.0499,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665750",
"espn_id": 34951,
"player_name": "Leody Taveras",
"team": "BAL",
"role": "batter",
"espn_rank": 92,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 92,
"gp_value": 46.0,
"gp_rank": 175,
"ab_value": 133.0,
"ab_rank": 201,
"r_value": 21.0,
"r_rank": 133,
"h_value": 37.0,
"h_rank": 159,
"avg_value": 0.2781954,
"avg_rank": null,
"2b_value": 8.0,
"2b_rank": 115,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 2.0,
"hr_rank": 242,
"rbi_value": 21.0,
"rbi_rank": 123,
"tb_value": 53.0,
"tb_rank": 1082,
"bb_value": 20.0,
"bb_rank": 89,
"so_value": 33.0,
"so_rank": 177,
"sb_value": 6.0,
"sb_rank": 54,
"obp_value": 0.3766233,
"obp_rank": "-",
"slg_value": 0.3984962,
"slg_rank": "-",
"ops_value": 0.7751195,
"ops_rank": null,
"war_value": 1.05,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 149.0,
"k_percent": 21.6,
"bb_percent": 13.1,
"woba": 0.349,
"xwoba": 0.329,
"xba": 0.251,
"xslg": 0.373,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 5.1,
"hard_hit_percent": 32.3,
"exit_velocity_avg": 87.9,
"launch_angle_avg": 15.1,
"whiff_percent": 24.1,
"swing_percent": 46.7
},
"components": {
"expected_quality": 0.1787,
"regression_edge": -0.5714,
"xwoba_edge": 0.6857,
"xba_edge": 0.4,
"xslg_edge": -0.0071,
"barrel_edge": -0.4333,
"hard_hit_edge": -0.95,
"exit_velocity_edge": -0.36,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "677942",
"player_name": "Blaze Alexander",
"offense_factor": 1.0178,
"quality_score": 0.2375,
"regression_flag": "positive_batter_regression",
"espn_rank": {
"available": true,
"player_id": "677942",
"espn_id": 41345,
"player_name": "Blaze Alexander",
"team": "BAL",
"role": "batter",
"espn_rank": 410,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 410,
"gp_value": 47.0,
"gp_rank": 169,
"ab_value": 118.0,
"ab_rank": 230,
"r_value": 14.0,
"r_rank": 227,
"h_value": 30.0,
"h_rank": 203,
"avg_value": 0.2542372,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 1.0,
"hr_rank": 306,
"rbi_value": 14.0,
"rbi_rank": 216,
"tb_value": 40.0,
"tb_rank": 1421,
"bb_value": 8.0,
"bb_rank": 269,
"so_value": 34.0,
"so_rank": 167,
"sb_value": 6.0,
"sb_rank": 54,
"obp_value": 0.3070866,
"obp_rank": "-",
"slg_value": 0.338983,
"slg_rank": "-",
"ops_value": 0.6460696,
"ops_rank": null,
"war_value": -0.17,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 119.0,
"k_percent": 27.0,
"bb_percent": 6.3,
"woba": 0.263,
"xwoba": 0.312,
"xba": 0.281,
"xslg": 0.377,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 47.6,
"exit_velocity_avg": 92.0,
"launch_angle_avg": 8.4,
"whiff_percent": 32.0,
"swing_percent": 55.2
},
"components": {
"expected_quality": 0.2827,
"regression_edge": 1.4,
"xwoba_edge": 0.2,
"xba_edge": 1.2571,
"xslg_edge": 0.05,
"barrel_edge": -0.7444,
"hard_hit_edge": 1.2357,
"exit_velocity_edge": 1.28,
"sweet_spot_edge": 0.55,
"launch_angle_hr_bonus": 0.0
}
}
],
"source": "all_players_stats.csv embedded Savant batter features"
},
"away": {
"applied": true,
"offense_factor": 1.0073,
"raw_average_factor": 1.0073,
"team_espn_average_rank": 173.0,
"coverage_weight": 1.0,
"covered_batters": 9,
"missing_batters": 0,
"players": [
{
"position": "1B",
"player_id": "665489",
"player_name": "Vladimir Guerrero Jr.",
"offense_factor": 1.0714,
"quality_score": 0.9526,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665489",
"espn_id": 35002,
"player_name": "Vladimir Guerrero Jr.",
"team": "TOR",
"role": "batter",
"espn_rank": 105,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 105,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 191.0,
"ab_rank": 86,
"r_value": 32.0,
"r_rank": 42,
"h_value": 56.0,
"h_rank": 32,
"avg_value": 0.2931937,
"avg_rank": 24.0,
"2b_value": 7.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 3.0,
"hr_rank": 191,
"rbi_value": 22.0,
"rbi_rank": 118,
"tb_value": 72.0,
"tb_rank": 1061,
"bb_value": 29.0,
"bb_rank": 31,
"so_value": 24.0,
"so_rank": 258,
"sb_value": 5.0,
"sb_rank": 70,
"obp_value": 0.3920704,
"obp_rank": "11",
"slg_value": 0.3769633,
"slg_rank": "117",
"ops_value": 0.7690337,
"ops_rank": 69.0,
"war_value": 0.98,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 213.0,
"k_percent": 10.3,
"bb_percent": 12.6,
"woba": 0.342,
"xwoba": 0.364,
"xba": 0.302,
"xslg": 0.425,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 7.1,
"hard_hit_percent": 42.9,
"exit_velocity_avg": 90.4,
"launch_angle_avg": 8.9,
"whiff_percent": 20.1,
"swing_percent": 48.2
},
"components": {
"expected_quality": 1.0418,
"regression_edge": 0.6286,
"xwoba_edge": 1.6857,
"xba_edge": 1.8571,
"xslg_edge": 0.7357,
"barrel_edge": 0.0111,
"hard_hit_edge": 0.5643,
"exit_velocity_edge": 0.64,
"sweet_spot_edge": -0.3833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "LF",
"player_id": "664770",
"player_name": "Nathan Lukes",
"offense_factor": 0.9979,
"quality_score": -0.0286,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "664770",
"espn_id": 35682,
"player_name": "Nathan Lukes",
"team": "TOR",
"role": "batter",
"espn_rank": 173,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 173,
"gp_value": 22.0,
"gp_rank": 361,
"ab_value": 60.0,
"ab_rank": 357,
"r_value": 5.0,
"r_rank": 375,
"h_value": 17.0,
"h_rank": 313,
"avg_value": 0.2833333,
"avg_rank": null,
"2b_value": 5.0,
"2b_rank": 218,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 0.0,
"hr_rank": 390,
"rbi_value": 9.0,
"rbi_rank": 288,
"tb_value": 22.0,
"tb_rank": 2009,
"bb_value": 1.0,
"bb_rank": 439,
"so_value": 10.0,
"so_rank": 397,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3230769,
"obp_rank": "-",
"slg_value": 0.3666666,
"slg_rank": "-",
"ops_value": 0.6897435,
"ops_rank": null,
"war_value": 0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 61.0,
"k_percent": 13.1,
"bb_percent": 1.6,
"woba": 0.308,
"xwoba": 0.309,
"xba": 0.285,
"xslg": 0.371,
"sweet_spot_percent": 32.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 38.8,
"exit_velocity_avg": 87.0,
"launch_angle_avg": 15.9,
"whiff_percent": 14.2,
"swing_percent": 53.2
},
"components": {
"expected_quality": -0.0785,
"regression_edge": 0.0286,
"xwoba_edge": 0.1143,
"xba_edge": 1.3714,
"xslg_edge": -0.0357,
"barrel_edge": -1.5667,
"hard_hit_edge": -0.0214,
"exit_velocity_edge": -0.72,
"sweet_spot_edge": -0.1,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "CF",
"player_id": "662139",
"player_name": "Daulton Varsho",
"offense_factor": 1.0033,
"quality_score": 0.044,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "662139",
"espn_id": 40963,
"player_name": "Daulton Varsho",
"team": "TOR",
"role": "batter",
"espn_rank": 64,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 64,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 189.0,
"ab_rank": 91,
"r_value": 25.0,
"r_rank": 81,
"h_value": 50.0,
"h_rank": 71,
"avg_value": 0.2645502,
"avg_rank": 60.0,
"2b_value": 11.0,
"2b_rank": 42,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 16.0,
"rbi_rank": 192,
"tb_value": 78.0,
"tb_rank": 549,
"bb_value": 19.0,
"bb_rank": 100,
"so_value": 42.0,
"so_rank": 112,
"sb_value": 4.0,
"sb_rank": 89,
"obp_value": 0.3380952,
"obp_rank": "70",
"slg_value": 0.4126984,
"slg_rank": "82",
"ops_value": 0.7507936,
"ops_rank": 77.0,
"war_value": 1.39,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 200.0,
"k_percent": 19.4,
"bb_percent": 9.2,
"woba": 0.339,
"xwoba": 0.315,
"xba": 0.262,
"xslg": 0.376,
"sweet_spot_percent": 38.6,
"barrel_batted_rate": 6.2,
"hard_hit_percent": 39.3,
"exit_velocity_avg": 86.4,
"launch_angle_avg": 14.4,
"whiff_percent": 21.4,
"swing_percent": 53.4
},
"components": {
"expected_quality": 0.1679,
"regression_edge": -0.6857,
"xwoba_edge": 0.2857,
"xba_edge": 0.7143,
"xslg_edge": 0.0357,
"barrel_edge": -0.1889,
"hard_hit_edge": 0.05,
"exit_velocity_edge": -0.96,
"sweet_spot_edge": 0.8833,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "DH",
"player_id": "543807",
"player_name": "George Springer",
"offense_factor": 0.9935,
"quality_score": -0.0868,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "543807",
"espn_id": 32078,
"player_name": "George Springer",
"team": "TOR",
"role": "batter",
"espn_rank": 338,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 338,
"gp_value": 37.0,
"gp_rank": 258,
"ab_value": 142.0,
"ab_rank": 188,
"r_value": 14.0,
"r_rank": 227,
"h_value": 30.0,
"h_rank": 203,
"avg_value": 0.2112676,
"avg_rank": null,
"2b_value": 7.0,
"2b_rank": 148,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 14.0,
"rbi_rank": 216,
"tb_value": 52.0,
"tb_rank": 1013,
"bb_value": 14.0,
"bb_rank": 164,
"so_value": 31.0,
"so_rank": 194,
"sb_value": 3.0,
"sb_rank": 119,
"obp_value": 0.2911392,
"obp_rank": "-",
"slg_value": 0.3661971,
"slg_rank": "-",
"ops_value": 0.6573363,
"ops_rank": null,
"war_value": -0.01,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 154.0,
"k_percent": 19.6,
"bb_percent": 8.9,
"woba": 0.3,
"xwoba": 0.299,
"xba": 0.216,
"xslg": 0.376,
"sweet_spot_percent": 30.3,
"barrel_batted_rate": 8.3,
"hard_hit_percent": 37.6,
"exit_velocity_avg": 87.6,
"launch_angle_avg": 15.5,
"whiff_percent": 25.2,
"swing_percent": 51.1
},
"components": {
"expected_quality": -0.1395,
"regression_edge": -0.0286,
"xwoba_edge": -0.1714,
"xba_edge": -0.6,
"xslg_edge": 0.0357,
"barrel_edge": 0.2778,
"hard_hit_edge": -0.1929,
"exit_velocity_edge": -0.48,
"sweet_spot_edge": -0.5,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "3B",
"player_id": "672960",
"player_name": "Kazuma Okamoto",
"offense_factor": 1.0508,
"quality_score": 0.6769,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "672960",
"espn_id": 5134636,
"player_name": "Kazuma Okamoto",
"team": "TOR",
"role": "batter",
"espn_rank": 147,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 147,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 197.0,
"ab_rank": 64,
"r_value": 26.0,
"r_rank": 76,
"h_value": 43.0,
"h_rank": 116,
"avg_value": 0.2182741,
"avg_rank": 137.0,
"2b_value": 6.0,
"2b_rank": 179,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 11.0,
"hr_rank": 30,
"rbi_value": 29.0,
"rbi_rank": 46,
"tb_value": 82.0,
"tb_rank": 693,
"bb_value": 22.0,
"bb_rank": 68,
"so_value": 71.0,
"so_rank": 10,
"sb_value": 0.0,
"sb_rank": 307,
"obp_value": 0.3018018,
"obp_rank": "124",
"slg_value": 0.4162436,
"slg_rank": "81",
"ops_value": 0.7180454,
"ops_rank": 93.0,
"war_value": 0.67,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 215.0,
"k_percent": 32.0,
"bb_percent": 10.0,
"woba": 0.311,
"xwoba": 0.324,
"xba": 0.22,
"xslg": 0.436,
"sweet_spot_percent": 32.5,
"barrel_batted_rate": 14.3,
"hard_hit_percent": 52.4,
"exit_velocity_avg": 92.8,
"launch_angle_avg": 18.0,
"whiff_percent": 33.0,
"swing_percent": 45.0
},
"components": {
"expected_quality": 0.745,
"regression_edge": 0.3714,
"xwoba_edge": 0.5429,
"xba_edge": -0.4857,
"xslg_edge": 0.8929,
"barrel_edge": 1.6111,
"hard_hit_edge": 1.9214,
"exit_velocity_edge": 1.6,
"sweet_spot_edge": -0.1333,
"launch_angle_hr_bonus": 0.45
}
},
{
"position": "RF",
"player_id": "660821",
"player_name": "Jesús Sánchez",
"offense_factor": 1.0547,
"quality_score": 0.7288,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "660821",
"espn_id": 39957,
"player_name": "Jesus Sanchez",
"team": "TOR",
"role": "batter",
"espn_rank": 213,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 213,
"gp_value": 54.0,
"gp_rank": 51,
"ab_value": 160.0,
"ab_rank": 155,
"r_value": 18.0,
"r_rank": 173,
"h_value": 45.0,
"h_rank": 101,
"avg_value": 0.28125,
"avg_rank": 39.0,
"2b_value": 10.0,
"2b_rank": 59,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 6.0,
"hr_rank": 94,
"rbi_value": 27.0,
"rbi_rank": 61,
"tb_value": 73.0,
"tb_rank": 750,
"bb_value": 7.0,
"bb_rank": 291,
"so_value": 37.0,
"so_rank": 146,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.32,
"obp_rank": "101",
"slg_value": 0.45625,
"slg_rank": "52",
"ops_value": 0.77625,
"ops_rank": 66.0,
"war_value": 0.3,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 169.0,
"k_percent": 20.2,
"bb_percent": 4.0,
"woba": 0.34,
"xwoba": 0.349,
"xba": 0.294,
"xslg": 0.479,
"sweet_spot_percent": 35.4,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 46.5,
"exit_velocity_avg": 91.2,
"launch_angle_avg": 11.0,
"whiff_percent": 25.1,
"swing_percent": 55.4
},
"components": {
"expected_quality": 1.0614,
"regression_edge": 0.2571,
"xwoba_edge": 1.2571,
"xba_edge": 1.6286,
"xslg_edge": 1.5071,
"barrel_edge": 0.3667,
"hard_hit_edge": 1.0786,
"exit_velocity_edge": 0.96,
"sweet_spot_edge": 0.35,
"launch_angle_hr_bonus": 0.2
}
},
{
"position": "2B",
"player_id": "676391",
"player_name": "Ernie Clement",
"offense_factor": 0.9489,
"quality_score": -0.6817,
"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": 115,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 115,
"gp_value": 55.0,
"gp_rank": 29,
"ab_value": 211.0,
"ab_rank": 23,
"r_value": 22.0,
"r_rank": 120,
"h_value": 62.0,
"h_rank": 7,
"avg_value": 0.2938388,
"avg_rank": 22.0,
"2b_value": 17.0,
"2b_rank": 1,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 20.0,
"rbi_rank": 135,
"tb_value": 94.0,
"tb_rank": 670,
"bb_value": 8.0,
"bb_rank": 269,
"so_value": 18.0,
"so_rank": 329,
"sb_value": 2.0,
"sb_rank": 155,
"obp_value": 0.3181818,
"obp_rank": "104",
"slg_value": 0.4454976,
"slg_rank": "57",
"ops_value": 0.7636794,
"ops_rank": 73.0,
"war_value": 0.92,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 212.0,
"k_percent": 8.3,
"bb_percent": 3.7,
"woba": 0.34,
"xwoba": 0.281,
"xba": 0.261,
"xslg": 0.356,
"sweet_spot_percent": 30.9,
"barrel_batted_rate": 2.6,
"hard_hit_percent": 25.7,
"exit_velocity_avg": 85.9,
"launch_angle_avg": 15.8,
"whiff_percent": 13.7,
"swing_percent": 56.4
},
"components": {
"expected_quality": -0.5482,
"regression_edge": -1.6857,
"xwoba_edge": -0.6857,
"xba_edge": 0.6857,
"xslg_edge": -0.25,
"barrel_edge": -0.9889,
"hard_hit_edge": -1.8929,
"exit_velocity_edge": -1.16,
"sweet_spot_edge": -0.4,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "SS",
"player_id": "665926",
"player_name": "Andrés Giménez",
"offense_factor": 0.9279,
"quality_score": -0.9611,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "665926",
"espn_id": 37729,
"player_name": "Andres Gimenez",
"team": "TOR",
"role": "batter",
"espn_rank": 283,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 283,
"gp_value": 53.0,
"gp_rank": 68,
"ab_value": 180.0,
"ab_rank": 116,
"r_value": 13.0,
"r_rank": 244,
"h_value": 40.0,
"h_rank": 134,
"avg_value": 0.2222222,
"avg_rank": 132.0,
"2b_value": 7.0,
"2b_rank": 148,
"3b_value": 1.0,
"3b_rank": 41,
"hr_value": 5.0,
"hr_rank": 118,
"rbi_value": 27.0,
"rbi_rank": 61,
"tb_value": 64.0,
"tb_rank": 718,
"bb_value": 6.0,
"bb_rank": 306,
"so_value": 34.0,
"so_rank": 167,
"sb_value": 6.0,
"sb_rank": 54,
"obp_value": 0.2604166,
"obp_rank": "169",
"slg_value": 0.3555555,
"slg_rank": "129",
"ops_value": 0.6159721,
"ops_rank": 152.0,
"war_value": 0.1,
"war_rank": 1.0
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 185.0,
"k_percent": 17.9,
"bb_percent": 3.2,
"woba": 0.273,
"xwoba": 0.251,
"xba": 0.214,
"xslg": 0.298,
"sweet_spot_percent": 26.0,
"barrel_batted_rate": 3.4,
"hard_hit_percent": 23.3,
"exit_velocity_avg": 85.6,
"launch_angle_avg": 10.1,
"whiff_percent": 24.1,
"swing_percent": 57.2
},
"components": {
"expected_quality": -1.2266,
"regression_edge": -0.6286,
"xwoba_edge": -1.5429,
"xba_edge": -0.6571,
"xslg_edge": -1.0786,
"barrel_edge": -0.8111,
"hard_hit_edge": -2.2357,
"exit_velocity_edge": -1.28,
"sweet_spot_edge": -1.2167,
"launch_angle_hr_bonus": 0.0
}
},
{
"position": "C",
"player_id": "678218",
"player_name": "Brandon Valenzuela",
"offense_factor": 1.0169,
"quality_score": 0.2258,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "678218",
"espn_id": 4918248,
"player_name": "Brandon Valenzuela",
"team": "TOR",
"role": "batter",
"espn_rank": 119,
"espn_total_ranked": 524,
"metrics": {
"espn_rank": 119,
"gp_value": 35.0,
"gp_rank": 271,
"ab_value": 92.0,
"ab_rank": 290,
"r_value": 13.0,
"r_rank": 244,
"h_value": 23.0,
"h_rank": 254,
"avg_value": 0.25,
"avg_rank": null,
"2b_value": 2.0,
"2b_rank": 338,
"3b_value": 0.0,
"3b_rank": 154,
"hr_value": 4.0,
"hr_rank": 154,
"rbi_value": 10.0,
"rbi_rank": 273,
"tb_value": 37.0,
"tb_rank": 1362,
"bb_value": 12.0,
"bb_rank": 201,
"so_value": 25.0,
"so_rank": 244,
"sb_value": 1.0,
"sb_rank": 206,
"obp_value": 0.3365384,
"obp_rank": "-",
"slg_value": 0.4021739,
"slg_rank": "-",
"ops_value": 0.7387123,
"ops_rank": null,
"war_value": 0.9,
"war_rank": null
},
"source": "espn_statistics_byathlete"
},
"metrics": {
"pa": 97.0,
"k_percent": 23.8,
"bb_percent": 11.4,
"woba": 0.333,
"xwoba": 0.335,
"xba": 0.259,
"xslg": 0.409,
"sweet_spot_percent": 41.2,
"barrel_batted_rate": 7.4,
"hard_hit_percent": 39.7,
"exit_velocity_avg": 89.2,
"launch_angle_avg": 16.7,
"whiff_percent": 26.1,
"swing_percent": 50.9
},
"components": {
"expected_quality": 0.5742,
"regression_edge": 0.0571,
"xwoba_edge": 0.8571,
"xba_edge": 0.6286,
"xslg_edge": 0.5071,
"barrel_edge": 0.0778,
"hard_hit_edge": 0.1071,
"exit_velocity_edge": 0.16,
"sweet_spot_edge": 1.3167,
"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 TOR | True | 77 | -0.4956 | 0.6640 | 1.0421 | 0.9567 | 0.9655 | 1.0620 | neutral | 0.3610 | 0.3440 | 16.80 | 6.80 | 20.30 | 8.50 | 43.30 | |
| Home BAL | True | 504 | -0.3078 | 0.8080 | 1.0262 | 0.9487 | 0.9871 | 0.9663 | neutral | 0.3450 | 0.3680 | 15.30 | 8.60 | 22.10 | 3.70 | 37 |
| 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 | 77 | 84.76 | 1995 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2761 | |
| Home BAL | True | None | 86 | 84.51 | 2154 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | -0.2800 |
| Run Factor | Value |
|---|---|
| away_runs_vs_home_pitcher | 1.0212 |
| home_runs_vs_away_pitcher | 1.0280 |
| home_pitcher_quality_edge | 0.1878 |
{
"applied": true,
"home_pitcher": {
"available": true,
"pitcher_id": "605135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 202.0,
"k_percent": 15.3,
"bb_percent": 8.6,
"woba": 0.368,
"xwoba": 0.345,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.5099,
"avg_hyper_speed": 93.7747,
"whiff_percent": 22.1,
"swing_percent": 45.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.4701,
"command_and_miss": -0.6193,
"regression_edge": 0.6571,
"xwoba_edge": -1.0286,
"barrel_edge": 0.8,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.5429,
"bb_edge": 0.2,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605135",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 84.51451632147452,
"release_spin_rate": 2154.290720484276,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 84.51451632147452,
"release_spin_rate": 2154.290720484276,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5145,
"release_spin_rate": 2154.2907,
"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.3078,
"sample_weight": 0.808,
"run_prevention_factor": 1.0262,
"strikeout_factor": 0.9487,
"walk_factor": 0.9871,
"homer_factor": 0.9663,
"woba_minus_xwoba": 0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605135",
"espn_id": 33148,
"player_name": "Chris Bassitt",
"team": "BAL",
"role": "pitcher",
"espn_rank": 504,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 504,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 8.0,
"gs_rank": 111,
"qs_value": 1.0,
"qs_rank": 122,
"era_value": 5.514,
"era_rank": null,
"w_value": 4.0,
"w_rank": 36,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 47.1,
"ip_rank": 110,
"h_value": 60.0,
"h_rank": 24,
"er_value": 29.0,
"er_rank": 39,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 19.0,
"bb_rank": 65,
"k_value": 34.0,
"k_rank": 137,
"k_per_9_value": 6.464789,
"k_per_9_rank": 33,
"whip_value": 1.669,
"whip_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"away_pitcher": {
"available": true,
"pitcher_id": "571578",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 166.0,
"k_percent": 16.8,
"bb_percent": 6.8,
"woba": 0.344,
"xwoba": 0.361,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 43.3,
"avg_best_speed": 78.4407,
"avg_hyper_speed": 94.8962,
"whiff_percent": 20.3,
"swing_percent": 49.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.9638,
"command_and_miss": -0.5229,
"regression_edge": -0.4857,
"xwoba_edge": -1.4857,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.6857,
"whiff_edge": -0.8,
"bb_edge": 0.65,
"pitch_design_score": -0.2761
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "571578",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 84.75787492571494,
"release_spin_rate": 1995.0627088909762,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 84.75787492571494,
"release_spin_rate": 1995.0627088909762,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7579,
"release_spin_rate": 1995.0627,
"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.2761,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9719,
"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.4956,
"sample_weight": 0.664,
"run_prevention_factor": 1.0421,
"strikeout_factor": 0.9567,
"walk_factor": 0.9655,
"homer_factor": 1.062,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571578",
"espn_id": 31313,
"player_name": "Patrick Corbin",
"team": "TOR",
"role": "pitcher",
"espn_rank": 77,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 77,
"gp_value": 9.0,
"gp_rank": 355,
"gs_value": 9.0,
"gs_rank": 91,
"qs_value": 1.0,
"qs_rank": 122,
"era_value": 3.8571,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 44.1,
"ip_rank": 119,
"h_value": 49.0,
"h_rank": 81,
"er_value": 19.0,
"er_rank": 116,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 13.0,
"bb_rank": 165,
"k_value": 32.0,
"k_rank": 146,
"k_per_9_value": 6.496241,
"k_per_9_rank": 33,
"whip_value": 1.3984,
"whip_rank": null,
"war_value": 0.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"run_factors": {
"away_runs_vs_home_pitcher": 1.0212,
"home_runs_vs_away_pitcher": 1.028,
"home_pitcher_quality_edge": 0.1878
},
"score_before": {
"away_runs": 4.9514,
"home_runs": 2.4712
},
"score_after": {
"away_runs": 5.0563,
"home_runs": 2.5403,
"home_win_probability": 0.2895
},
"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 | 16-39 | 0.291 | 1 | 2.80 | -98 | cold | strong | |
| Home BAL | 11-43 | 0.204 | 1.30 | 4 | -146 | cold | average |
| Team | Record | Win % | Run Diff | RD/Game | Available |
|---|---|---|---|---|---|
| Away TOR | 27-29 | 0.482 | -4 | -0.071 | True |
| Home BAL | 26-30 | 0.464 | -41 | -0.732 | True |
| Signal | - | - | -0.661 | -0.688 | applied=True |
| Date | Matchup | Score | Winner | Margin | Type |
|---|---|---|---|---|---|
| - | - | - | - | - | - |
| Layer | AB | H | R | HR | RBI | BB | SO |
|---|---|---|---|---|---|---|---|
| Game target TOR | - | - | 5 | - | - | - | - |
| Game target BAL | - | - | 4 | - | - | - | - |
| Player finalized TOR | 67 | 17 | 8 | 1 | 9 | 5 | 14 |
| Player finalized BAL | 71 | 18 | 10 | 2 | 11 | 9 | 19 |
| Player model fractional TOR | 68.65 | 18.09 | 8.52 | 2.35 | 8.76 | 5.46 | 14.11 |
| Player model fractional BAL | 69.90 | 16.93 | 10.43 | 2.58 | 9.97 | 8.02 | 18.00 |
| Simulation box TOR | 36 | 6 | 7 | 1 | 7 | 4 | 11 |
| Simulation box BAL | 39 | 9 | 5 | 2 | 5 | 2 | 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 TOR | Starter | Patrick Corbin | 5 | 3 | 4 | 5 | 1 | 4.04 | 1.42 | True |
| Away TOR | Middle Reliever | Louis Varland | 1.10 | 0 | 0 | 0 | 0 | 2.02 | 1.11 | True |
| Away TOR | Middle Reliever | Jeff Hoffman | 1 | 0 | 0 | 0 | 1 | 3.11 | 1.17 | True |
| Away TOR | Middle Reliever | Tyler Rogers | 1.10 | 0 | 1 | 2 | 0 | 4.76 | 1.33 | True |
| Away TOR | Middle Reliever | Braydon Fisher | 1 | 0 | 3 | 1 | 0 | 2.68 | 1.03 | True |
| Away TOR | Reliever | Spencer Miles | 0.10 | 2 | 1 | 1 | 0 | 2.79 | 1.12 | - |
| Home BAL | Starter | Chris Bassitt | 4.20 | 3 | 5 | 3 | 0 | 4.71 | 1.43 | True |
| Home BAL | Middle Reliever | Anthony Nunez | 1 | 0 | 3 | 0 | 1 | 5.92 | 1.25 | True |
| Home BAL | Middle Reliever | Rico Garcia | 1.20 | 2 | 1 | 1 | 1 | 2.89 | 1.27 | True |
| Home BAL | Middle Reliever | Tyler Wells | 1.10 | 1 | 2 | 1 | 1 | 3.35 | 1.15 | True |
| Home BAL | Middle Reliever | Yennier Cano | 1.10 | 1 | 0 | 1 | 1 | 3.07 | 0.94 | True |
| Side | Team | Role | Pos | Player | Dominant | Changed | Boosted | Deboosted | Better | Worse | Largest Metric | Largest Delta | Direction | Effect |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| home | BAL | pitcher | Starter | Chris Bassitt | worse | 3 | 2 | 1 | 0 | 3 | predicted_H | 3.0000 | boost | worse |
| away | TOR | batter | RF | Jesús Sánchez | worse | 11 | 2 | 9 | 1 | 10 | predicted_SO | 2.2140 | boost | worse |
| away | TOR | pitcher | Reliever | Spencer Miles | worse | 4 | 4 | 0 | 1 | 3 | predicted_ER | 2.0000 | boost | worse |
| home | BAL | pitcher | Middle Reliever | Tyler Wells | better | 3 | 1 | 2 | 3 | 0 | predicted_H | -2.0000 | deboost | better |
| home | BAL | batter | CF | Leody Taveras | boosted | 10 | 6 | 4 | 5 | 5 | predicted_RBI | 1.8300 | boost | better |
| away | TOR | batter | C | Brandon Valenzuela | better | 10 | 7 | 3 | 8 | 2 | predicted_RBI | 1.7300 | boost | better |
| home | BAL | batter | 3B | Coby Mayo | boosted | 10 | 6 | 4 | 5 | 5 | predicted_AB | 1.6760 | boost | better |
| away | TOR | batter | LF | Nathan Lukes | better | 10 | 8 | 2 | 7 | 3 | predicted_RBI | 1.5600 | boost | better |
| home | BAL | batter | C | Adley Rutschman | better | 10 | 8 | 2 | 7 | 3 | predicted_RBI | 1.4700 | boost | better |
| away | TOR | batter | CF | Daulton Varsho | worse | 11 | 5 | 6 | 4 | 7 | predicted_AB | 1.1700 | boost | better |
| home | BAL | batter | SS | Gunnar Henderson | worse | 10 | 2 | 8 | 3 | 7 | predicted_H | -1.0700 | deboost | worse |
| home | BAL | batter | 1B | Pete Alonso | worse | 11 | 4 | 7 | 5 | 6 | predicted_SO | -1.0170 | deboost | better |
| away | TOR | pitcher | Starter | Patrick Corbin | better | 1 | 1 | 0 | 1 | 0 | predicted_SO | 1.0000 | boost | better |
| home | BAL | batter | 2B | Jackson Holliday | worse | 8 | 1 | 7 | 0 | 8 | predicted_SO | 1.0000 | boost | worse |
| home | BAL | batter | RF | Tyler O'Neill | worse | 10 | 3 | 7 | 2 | 8 | predicted_AB | 1.0000 | boost | better |
| home | BAL | pitcher | Middle Reliever | Yennier Cano | better | 2 | 1 | 1 | 2 | 0 | predicted_H | -1.0000 | deboost | better |
| home | BAL | batter | DH | Taylor Ward | deboosted | 10 | 4 | 6 | 5 | 5 | predicted_SO | -0.9150 | deboost | better |
| away | TOR | batter | SS | Andrés Giménez | worse | 11 | 6 | 5 | 5 | 6 | predicted_BB | 0.8950 | boost | better |
| away | TOR | batter | 3B | Kazuma Okamoto | worse | 11 | 5 | 6 | 4 | 7 | predicted_H | -0.8400 | deboost | worse |
| home | BAL | batter | LF | Blaze Alexander | worse | 9 | 3 | 6 | 3 | 6 | predicted_BB | 0.7800 | boost | better |
| away | TOR | batter | DH | George Springer | worse | 9 | 5 | 4 | 4 | 5 | predicted_AB | 0.6100 | boost | better |
| away | TOR | batter | 1B | Vladimir Guerrero Jr. | better | 11 | 8 | 3 | 7 | 4 | predicted_RBI | 0.5800 | boost | better |
| away | TOR | batter | 2B | Ernie Clement | better | 9 | 4 | 5 | 5 | 4 | predicted_R | 0.5710 | boost | better |
| away | TOR | pitcher | Middle Reliever | Braydon Fisher | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.3333 | boost | better |
| away | TOR | pitcher | Middle Reliever | Louis Varland | worse | 1 | 0 | 1 | 0 | 1 | predicted_IP | -0.2333 | deboost | worse |
| home | BAL | pitcher | Middle Reliever | Rico Garcia | better | 1 | 1 | 0 | 1 | 0 | predicted_IP | 0.2000 | boost | better |
| away | TOR | pitcher | Middle Reliever | Tyler Rogers | 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 | Patrick Corbin |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.4956 |
| ESPN Rank | 77 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2761 |
| Avg Velo | 84.7579 |
| Avg Spin | 1995.0627 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 5 |
| Pre ER | 3 |
| Pre H | 5 |
| Pre BB | 1 |
| Pre SO | 4 |
| Season ERA | 3.8571 |
| Season WHIP | 1.3985 |
| Role Avg IP | 4.9260 |
| Recent Avg IP | 5 |
| Last Start IP | 6 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"opponent": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"edges": {
"quality_edge": 0.1265,
"offense_edge": -0.0592,
"opponent_offense_edge": -0.0018,
"defense_strength": 0.1286,
"opponent_defense_weakness": 0.0902,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9805,
"strikeout": 1.0039
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "571578",
"profile": {
"available": true,
"pitcher_id": "571578",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 166.0,
"k_percent": 16.8,
"bb_percent": 6.8,
"woba": 0.344,
"xwoba": 0.361,
"sweet_spot_percent": 39.0,
"barrel_batted_rate": 8.5,
"hard_hit_percent": 43.3,
"avg_best_speed": 78.4407,
"avg_hyper_speed": 94.8962,
"whiff_percent": 20.3,
"swing_percent": 49.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.9638,
"command_and_miss": -0.5229,
"regression_edge": -0.4857,
"xwoba_edge": -1.4857,
"barrel_edge": -0.2667,
"hard_hit_edge": -0.6857,
"whiff_edge": -0.8,
"bb_edge": 0.65,
"pitch_design_score": -0.2761
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "571578",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 84.75787492571494,
"release_spin_rate": 1995.0627088909762,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 84.75787492571494,
"release_spin_rate": 1995.0627088909762,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7579,
"release_spin_rate": 1995.0627,
"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.2761,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9719,
"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.4956,
"sample_weight": 0.664,
"run_prevention_factor": 1.0421,
"strikeout_factor": 0.9567,
"walk_factor": 0.9655,
"homer_factor": 1.062,
"woba_minus_xwoba": -0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "571578",
"espn_id": 31313,
"player_name": "Patrick Corbin",
"team": "TOR",
"role": "pitcher",
"espn_rank": 77,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 77,
"gp_value": 9.0,
"gp_rank": 355,
"gs_value": 9.0,
"gs_rank": 91,
"qs_value": 1.0,
"qs_rank": 122,
"era_value": 3.8571,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 44.1,
"ip_rank": 119,
"h_value": 49.0,
"h_rank": 81,
"er_value": 19.0,
"er_rank": 116,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 13.0,
"bb_rank": 165,
"k_value": 32.0,
"k_rank": 146,
"k_per_9_value": 6.496241,
"k_per_9_rank": 33,
"whip_value": 1.3984,
"whip_rank": null,
"war_value": 0.89,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 2.0,
"factor": 1.028,
"adjusted": 2
},
"predicted_H": {
"original": 6.0,
"factor": 1.028,
"adjusted": 6
},
"predicted_BB": {
"original": 1.0,
"factor": 0.9771,
"adjusted": 1
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0412,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9712,
"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": 44.1,
"ER": 19,
"H": 49,
"BB": 13,
"SO": 32,
"HR": 4,
"ERA": 3.8571428571428577,
"WHIP": 1.398496240601504,
"K9": 6.49624060150376,
"HR9": 0.81203007518797,
"games_pitched": 9,
"quality_starts": 1,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 9,
"error_prone": false
},
"games_count": 9,
"latest_game_date": "2026-05-23T00:00:00"
}{
"available": true,
"pitcher_id": "571578",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 77,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 77,
"pitch_usage": 0.0,
"release_speed": 84.75787492571494,
"release_spin_rate": 1995.0627088909762,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 77,
"pitch_usage": 0.0,
"release_speed": 84.75787492571494,
"release_spin_rate": 1995.0627088909762,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7579,
"release_spin_rate": 1995.0627,
"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.2761,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -1.9719,
"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": 9.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6429,
"prior_weight": 0.3571
},
"role": "pitcher",
"player_id": "571578",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 9,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 25.0,
"ER": 11.0,
"R": 11.0,
"H": 31.0,
"BB": 7.0,
"SO": 16.0,
"HR": 2.0,
"BF": 111.0,
"Pitches": 389.0
},
"per_game": {
"IP": 5.0,
"ER": 2.2,
"R": 2.2,
"H": 6.2,
"BB": 1.4,
"SO": 3.2,
"HR": 0.4,
"BF": 22.2,
"Pitches": 77.8
},
"rates": {
"ERA": 3.96,
"WHIP": 1.52,
"ER_per_IP": 0.44,
"H_per_IP": 1.24,
"BB_per_IP": 0.28,
"SO_per_IP": 0.64,
"HR_per_IP": 0.08
}
},
"last_10": {
"games": 9,
"totals": {
"IP": 44.1,
"ER": 19.0,
"R": 19.0,
"H": 49.0,
"BB": 13.0,
"SO": 32.0,
"HR": 4.0,
"BF": 190.0,
"Pitches": 702.0
},
"per_game": {
"IP": 5.0,
"ER": 2.1111,
"R": 2.1111,
"H": 5.4444,
"BB": 1.4444,
"SO": 3.5556,
"HR": 0.4444,
"BF": 21.1111,
"Pitches": 78.0
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.3985,
"ER_per_IP": 0.42857,
"H_per_IP": 1.10526,
"BB_per_IP": 0.29323,
"SO_per_IP": 0.7218,
"HR_per_IP": 0.09023
}
},
"season": {
"games": 9,
"totals": {
"IP": 44.1,
"ER": 19.0,
"R": 19.0,
"H": 49.0,
"BB": 13.0,
"SO": 32.0,
"HR": 4.0,
"BF": 190.0,
"Pitches": 702.0
},
"per_game": {
"IP": 5.0,
"ER": 2.1111,
"R": 2.1111,
"H": 5.4444,
"BB": 1.4444,
"SO": 3.5556,
"HR": 0.4444,
"BF": 21.1111,
"Pitches": 78.0
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.3985,
"ER_per_IP": 0.42857,
"H_per_IP": 1.10526,
"BB_per_IP": 0.29323,
"SO_per_IP": 0.7218,
"HR_per_IP": 0.09023
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.242,
"predicted_H": 5.504,
"predicted_BB": 1.575,
"predicted_SO": 3.844,
"predicted_HR": 0.504,
"predicted_ERA": 4.035,
"predicted_WHIP": 1.4158
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5009,
"form_weight": 0.4991,
"form_reliability": 0.6429,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 9.0,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.6429,
"prior_weight": 0.3571
},
"applied_metrics": {
"predicted_IP": {
"model": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 3.0,
"form": 2.242,
"final": 2.6217,
"source": "model_form_blend"
},
"predicted_H": {
"model": 5.0,
"form": 5.504,
"final": 5.2516,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 1.575,
"final": 1.287,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 3.844,
"final": 3.4213,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.504,
"final": 0.7524,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.035,
"final": 4.035,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.4158,
"final": 1.4158,
"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.6492 |
| ESPN Rank | 27 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.2226 |
| Avg Velo | 93.6622 |
| Avg Spin | 2233.9542 |
| 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.3140 |
| Season WHIP | 1.0814 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"opponent": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"edges": {
"quality_edge": 0.1265,
"offense_edge": -0.0592,
"opponent_offense_edge": -0.0018,
"defense_strength": 0.1286,
"opponent_defense_weakness": 0.0902,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9805,
"strikeout": 1.0039
},
"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": 103.0,
"k_percent": 36.7,
"bb_percent": 8.3,
"woba": 0.229,
"xwoba": 0.212,
"sweet_spot_percent": 21.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 31.7,
"avg_best_speed": 74.7269,
"avg_hyper_speed": 92.8701,
"whiff_percent": 28.5,
"swing_percent": 50.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.9511,
"command_and_miss": 1.0914,
"regression_edge": 0.4857,
"xwoba_edge": 2.5,
"barrel_edge": 1.6222,
"hard_hit_edge": 0.9714,
"whiff_edge": 0.3714,
"bb_edge": 0.275,
"pitch_design_score": 0.2226
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "686973",
"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": 93.66218088250416,
"release_spin_rate": 2233.9541882420713,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 93.66218088250416,
"release_spin_rate": 2233.9541882420713,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6622,
"release_spin_rate": 2233.9542,
"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.2226,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5898,
"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.6492,
"sample_weight": 0.45,
"run_prevention_factor": 0.9448,
"strikeout_factor": 1.0429,
"walk_factor": 0.9901,
"homer_factor": 0.8904,
"woba_minus_xwoba": 0.017,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "686973",
"espn_id": 4917888,
"player_name": "Louis Varland",
"team": "TOR",
"role": "pitcher",
"espn_rank": 27,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 27,
"gp_value": 26.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 0.3139,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 7.0,
"sv_rank": 14,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 28.2,
"ip_rank": 170,
"h_value": 22.0,
"h_rank": 217,
"er_value": 1.0,
"er_rank": 561,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 41.0,
"k_rank": 108,
"k_per_9_value": 12.872093,
"k_per_9_rank": 17,
"whip_value": 1.0813,
"whip_rank": null,
"war_value": 1.61,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9752,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9752,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9955,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9507,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0193,
"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": 0,
"H": 9,
"BB": 4,
"SO": 13,
"HR": 0,
"ERA": 0.0,
"WHIP": 1.1142857142857143,
"K9": 10.028571428571428,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "686973",
"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": 93.66218088250416,
"release_spin_rate": 2233.9541882420713,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 93.66218088250416,
"release_spin_rate": 2233.9541882420713,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.6622,
"release_spin_rate": 2233.9542,
"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.2226,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 1.5898,
"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.654,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5307,
"prior_weight": 0.4693
},
"role": "pitcher",
"player_id": "686973",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.333,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 0.0,
"R": 1.0,
"H": 5.0,
"BB": 0.0,
"SO": 9.0,
"HR": 0.0,
"BF": 26.0,
"Pitches": 103.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 1.0,
"BB": 0.0,
"SO": 1.8,
"HR": 0.0,
"BF": 5.2,
"Pitches": 20.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.7143,
"ER_per_IP": 0.0,
"H_per_IP": 0.71429,
"BB_per_IP": 0.0,
"SO_per_IP": 1.28571,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.2,
"ER": 0.0,
"R": 2.0,
"H": 9.0,
"BB": 4.0,
"SO": 13.0,
"HR": 0.0,
"BF": 48.0,
"Pitches": 193.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.2,
"H": 0.9,
"BB": 0.4,
"SO": 1.3,
"HR": 0.0,
"BF": 4.8,
"Pitches": 19.3
},
"rates": {
"ERA": 0.0,
"WHIP": 1.1143,
"ER_per_IP": 0.0,
"H_per_IP": 0.77143,
"BB_per_IP": 0.34286,
"SO_per_IP": 1.11429,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 28.2,
"ER": 1.0,
"R": 6.0,
"H": 22.0,
"BB": 9.0,
"SO": 41.0,
"HR": 0.0,
"BF": 113.0,
"Pitches": 488.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0385,
"R": 0.2308,
"H": 0.8462,
"BB": 0.3462,
"SO": 1.5769,
"HR": 0.0,
"BF": 4.3462,
"Pitches": 18.7692
},
"rates": {
"ERA": 0.314,
"WHIP": 1.0814,
"ER_per_IP": 0.03488,
"H_per_IP": 0.76744,
"BB_per_IP": 0.31395,
"SO_per_IP": 1.43023,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.1,
"predicted_ER": 0.292,
"predicted_H": 1.088,
"predicted_BB": 0.351,
"predicted_SO": 1.439,
"predicted_HR": 0.08,
"predicted_ERA": 2.0237,
"predicted_WHIP": 1.1081
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5483,
"form_weight": 0.4517,
"form_reliability": 0.5307,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.654,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5307,
"prior_weight": 0.4693
},
"applied_metrics": {
"predicted_IP": {
"model": 1.1,
"form": 1.1,
"final": 1.1,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.292,
"final": 0.1319,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.088,
"final": 0.4915,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.351,
"final": 0.1586,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.439,
"final": 0.65,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.08,
"final": 0.0361,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.0237,
"final": 2.0237,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1081,
"final": 1.1081,
"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 | Jeff Hoffman |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.4501 |
| ESPN Rank | 570 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1356 |
| Avg Velo | 92.1093 |
| Avg Spin | 2387.9303 |
| 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 | 4.8082 |
| Season WHIP | 1.6027 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"opponent": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"edges": {
"quality_edge": 0.1265,
"offense_edge": -0.0592,
"opponent_offense_edge": -0.0018,
"defense_strength": 0.1286,
"opponent_defense_weakness": 0.0902,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9805,
"strikeout": 1.0039
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "656546",
"profile": {
"available": true,
"pitcher_id": "656546",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 102.0,
"k_percent": 37.0,
"bb_percent": 7.4,
"woba": 0.344,
"xwoba": 0.264,
"sweet_spot_percent": 25.9,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 31.0,
"avg_best_speed": 77.9932,
"avg_hyper_speed": 92.984,
"whiff_percent": 41.3,
"swing_percent": 52.2
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.5761,
"command_and_miss": 1.7957,
"regression_edge": 2.0,
"xwoba_edge": 1.2857,
"barrel_edge": 0.0667,
"hard_hit_edge": 1.0714,
"whiff_edge": 2.2,
"bb_edge": 0.5,
"pitch_design_score": 0.1356
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "656546",
"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": 92.1093223527207,
"release_spin_rate": 2387.9303416956177,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.1093223527207,
"release_spin_rate": 2387.9303416956177,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1093,
"release_spin_rate": 2387.9303,
"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.1356,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9687,
"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.4501,
"sample_weight": 0.45,
"run_prevention_factor": 0.9617,
"strikeout_factor": 1.0766,
"walk_factor": 0.982,
"homer_factor": 0.961,
"woba_minus_xwoba": 0.08,
"regression_flag": "positive_pitcher_regression",
"espn_rank": {
"available": true,
"player_id": "656546",
"espn_id": 33841,
"player_name": "Jeff Hoffman",
"team": "TOR",
"role": "pitcher",
"espn_rank": 570,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 570,
"gp_value": 26.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.8082,
"era_rank": null,
"w_value": 3.0,
"w_rank": 68,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 5.0,
"sv_rank": 23,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 24.1,
"ip_rank": 223,
"h_value": 31.0,
"h_rank": 143,
"er_value": 13.0,
"er_rank": 175,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 8.0,
"bb_rank": 282,
"k_value": 42.0,
"k_rank": 103,
"k_per_9_value": 15.534247,
"k_per_9_rank": 12,
"whip_value": 1.6027,
"whip_rank": null,
"war_value": -0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9828,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9828,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9919,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9824,
"adjusted": 0
},
"predicted_SO": {
"original": 3.0,
"factor": 1.0345,
"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": 9.2,
"ER": 3,
"H": 11,
"BB": 1,
"SO": 14,
"HR": 1,
"ERA": 2.793103448275862,
"WHIP": 1.2413793103448276,
"K9": 13.03448275862069,
"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-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "656546",
"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": 92.1093223527207,
"release_spin_rate": 2387.9303416956177,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 92.1093223527207,
"release_spin_rate": 2387.9303416956177,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.1093,
"release_spin_rate": 2387.9303,
"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.1356,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.9687,
"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.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4898,
"prior_weight": 0.5102
},
"role": "pitcher",
"player_id": "656546",
"report_date": "20260528_T",
"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": 0.0,
"SO": 8.0,
"HR": 0.0,
"BF": 16.0,
"Pitches": 73.0
},
"per_game": {
"IP": 1.0,
"ER": 0.0,
"R": 0.0,
"H": 0.6,
"BB": 0.0,
"SO": 1.6,
"HR": 0.0,
"BF": 3.2,
"Pitches": 14.6
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6,
"ER_per_IP": 0.0,
"H_per_IP": 0.6,
"BB_per_IP": 0.0,
"SO_per_IP": 1.6,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 3.0,
"R": 4.0,
"H": 11.0,
"BB": 1.0,
"SO": 14.0,
"HR": 1.0,
"BF": 39.0,
"Pitches": 171.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 1.1,
"BB": 0.1,
"SO": 1.4,
"HR": 0.1,
"BF": 3.9,
"Pitches": 17.1
},
"rates": {
"ERA": 2.7931,
"WHIP": 1.2414,
"ER_per_IP": 0.31034,
"H_per_IP": 1.13793,
"BB_per_IP": 0.10345,
"SO_per_IP": 1.44828,
"HR_per_IP": 0.10345
}
},
"season": {
"games": 26,
"totals": {
"IP": 24.1,
"ER": 13.0,
"R": 16.0,
"H": 31.0,
"BB": 8.0,
"SO": 42.0,
"HR": 3.0,
"BF": 112.0,
"Pitches": 450.0
},
"per_game": {
"IP": 1.0,
"ER": 0.5,
"R": 0.6154,
"H": 1.1923,
"BB": 0.3077,
"SO": 1.6154,
"HR": 0.1154,
"BF": 4.3077,
"Pitches": 17.3077
},
"rates": {
"ERA": 4.8082,
"WHIP": 1.6027,
"ER_per_IP": 0.53425,
"H_per_IP": 1.27397,
"BB_per_IP": 0.32877,
"SO_per_IP": 1.72603,
"HR_per_IP": 0.12329
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.346,
"predicted_H": 0.933,
"predicted_BB": 0.238,
"predicted_SO": 1.252,
"predicted_HR": 0.097,
"predicted_ERA": 3.1137,
"predicted_WHIP": 1.1715
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5656,
"form_weight": 0.4344,
"form_reliability": 0.4898,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.8,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4898,
"prior_weight": 0.5102
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.346,
"final": 0.1503,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.933,
"final": 0.4053,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.238,
"final": 0.669,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.252,
"final": 0.5439,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.097,
"final": 0.0421,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.1137,
"final": 3.1137,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1715,
"final": 1.1715,
"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.3026 |
| ESPN Rank | 148 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 80.8394 |
| Avg Spin | 2071.4882 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 0 |
| Pre H | 2 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | 2.5200 |
| Season WHIP | 1.1200 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"opponent": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"edges": {
"quality_edge": 0.1265,
"offense_edge": -0.0592,
"opponent_offense_edge": -0.0018,
"defense_strength": 0.1286,
"opponent_defense_weakness": 0.0902,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9805,
"strikeout": 1.0039
},
"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": 91.0,
"k_percent": 15.2,
"bb_percent": 9.1,
"woba": 0.236,
"xwoba": 0.249,
"sweet_spot_percent": 22.7,
"barrel_batted_rate": 0.0,
"hard_hit_percent": 21.3,
"avg_best_speed": 71.2133,
"avg_hyper_speed": 91.6972,
"whiff_percent": 13.5,
"swing_percent": 47.8
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.8089,
"command_and_miss": -1.0807,
"regression_edge": -0.3714,
"xwoba_edge": 1.7143,
"barrel_edge": 1.6222,
"hard_hit_edge": 2.4571,
"whiff_edge": -1.7714,
"bb_edge": 0.075,
"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": 14,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 14,
"pitch_usage": 0.0,
"release_speed": 80.83935393398812,
"release_spin_rate": 2071.4882101218495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 80.83935393398812,
"release_spin_rate": 2071.4882101218495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8394,
"release_spin_rate": 2071.4882,
"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.3026,
"sample_weight": 0.45,
"run_prevention_factor": 0.9743,
"strikeout_factor": 0.9491,
"walk_factor": 0.9973,
"homer_factor": 0.8742,
"woba_minus_xwoba": -0.013,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "643511",
"espn_id": 34026,
"player_name": "Tyler Rogers",
"team": "TOR",
"role": "pitcher",
"espn_rank": 148,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 148,
"gp_value": 26.0,
"gp_rank": 10,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.52,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 2.0,
"l_rank": 127,
"sv_value": 2.0,
"sv_rank": 49,
"hld_value": 9.0,
"hld_rank": 12,
"ip_value": 25.0,
"ip_rank": 212,
"h_value": 19.0,
"h_rank": 263,
"er_value": 7.0,
"er_rank": 338,
"hr_value": 0.0,
"hr_rank": 508,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 15.0,
"k_rank": 351,
"k_per_9_value": 5.4,
"k_per_9_rank": 44,
"whip_value": 1.12,
"whip_rank": null,
"war_value": 0.56,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9884,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9884,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9434,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 0.9771,
"adjusted": 2
}
}
}
}{
"hitting": {
"AB": 0,
"H": 0,
"HR": 0,
"RBI": 0,
"R": 0,
"BB": 0,
"SO": 0,
"2B": 0,
"3B": 0,
"AVG": 0,
"OBP": 0,
"SLG": 0,
"OPS": 0,
"games_played": 0,
"hot_streak": false,
"cold_streak": true,
"trend": "stable"
},
"pitching": {
"IP": 8.2,
"ER": 6,
"H": 11,
"BB": 5,
"SO": 5,
"HR": 0,
"ERA": 6.230769230769231,
"WHIP": 1.8461538461538463,
"K9": 5.1923076923076925,
"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-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "643511",
"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": 80.83935393398812,
"release_spin_rate": 2071.4882101218495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 80.83935393398812,
"release_spin_rate": 2071.4882101218495,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.8394,
"release_spin_rate": 2071.4882,
"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.931,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4965,
"prior_weight": 0.5035
},
"role": "pitcher",
"player_id": "643511",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 26,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.2,
"ER": 3.0,
"R": 3.0,
"H": 2.0,
"BB": 3.0,
"SO": 2.0,
"HR": 0.0,
"BF": 18.0,
"Pitches": 62.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 0.4,
"BB": 0.6,
"SO": 0.4,
"HR": 0.0,
"BF": 3.6,
"Pitches": 12.4
},
"rates": {
"ERA": 5.7857,
"WHIP": 1.0714,
"ER_per_IP": 0.64286,
"H_per_IP": 0.42857,
"BB_per_IP": 0.64286,
"SO_per_IP": 0.42857,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 8.2,
"ER": 6.0,
"R": 6.0,
"H": 11.0,
"BB": 5.0,
"SO": 5.0,
"HR": 0.0,
"BF": 40.0,
"Pitches": 150.0
},
"per_game": {
"IP": 1.0,
"ER": 0.6,
"R": 0.6,
"H": 1.1,
"BB": 0.5,
"SO": 0.5,
"HR": 0.0,
"BF": 4.0,
"Pitches": 15.0
},
"rates": {
"ERA": 6.2308,
"WHIP": 1.8462,
"ER_per_IP": 0.69231,
"H_per_IP": 1.26923,
"BB_per_IP": 0.57692,
"SO_per_IP": 0.57692,
"HR_per_IP": 0.0
}
},
"season": {
"games": 26,
"totals": {
"IP": 25.0,
"ER": 7.0,
"R": 8.0,
"H": 19.0,
"BB": 9.0,
"SO": 15.0,
"HR": 0.0,
"BF": 102.0,
"Pitches": 348.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2692,
"R": 0.3077,
"H": 0.7308,
"BB": 0.3462,
"SO": 0.5769,
"HR": 0.0,
"BF": 3.9231,
"Pitches": 13.3846
},
"rates": {
"ERA": 2.52,
"WHIP": 1.12,
"ER_per_IP": 0.28,
"H_per_IP": 0.76,
"BB_per_IP": 0.36,
"SO_per_IP": 0.6,
"HR_per_IP": 0.0
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.529,
"predicted_H": 0.867,
"predicted_BB": 0.465,
"predicted_SO": 0.731,
"predicted_HR": 0.066,
"predicted_ERA": 4.7611,
"predicted_WHIP": 1.3321
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5627,
"form_weight": 0.4373,
"form_reliability": 0.4965,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.931,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4965,
"prior_weight": 0.5035
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.529,
"final": 0.2313,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.867,
"final": 1.5046,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.465,
"final": 0.2033,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 0.731,
"final": 0.8824,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.066,
"final": 0.0289,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7611,
"final": 4.7611,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.3321,
"final": 1.3321,
"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.0319 |
| ESPN Rank | 136 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0954 |
| Avg Velo | 87.9833 |
| Avg Spin | 2303.9306 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 3 |
| Season ERA | 2.6413 |
| Season WHIP | 1.0109 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"opponent": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"edges": {
"quality_edge": 0.1265,
"offense_edge": -0.0592,
"opponent_offense_edge": -0.0018,
"defense_strength": 0.1286,
"opponent_defense_weakness": 0.0902,
"recent_win_pct_edge": 0.1
},
"player_factors": {
"ip": 1.009,
"run_prevention": 0.9805,
"strikeout": 1.0039
},
"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": 112.0,
"k_percent": 27.4,
"bb_percent": 10.3,
"woba": 0.267,
"xwoba": 0.303,
"sweet_spot_percent": 31.0,
"barrel_batted_rate": 11.3,
"hard_hit_percent": 39.4,
"avg_best_speed": 77.7128,
"avg_hyper_speed": 93.619,
"whiff_percent": 28.6,
"swing_percent": 45.1
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.1388,
"command_and_miss": 0.3986,
"regression_edge": -1.0286,
"xwoba_edge": 0.1714,
"barrel_edge": -0.8889,
"hard_hit_edge": -0.1286,
"whiff_edge": 0.3857,
"bb_edge": -0.225,
"pitch_design_score": -0.0954
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "680755",
"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": 87.98334776394367,
"release_spin_rate": 2303.930623670888,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.98334776394367,
"release_spin_rate": 2303.930623670888,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9833,
"release_spin_rate": 2303.9306,
"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.0954,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6817,
"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.0319,
"sample_weight": 0.45,
"run_prevention_factor": 0.9973,
"strikeout_factor": 1.0193,
"walk_factor": 1.0081,
"homer_factor": 1.032,
"woba_minus_xwoba": -0.036,
"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": 136,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 136,
"gp_value": 28.0,
"gp_rank": 3,
"gs_value": 3.0,
"gs_rank": 168,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 2.6413,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 30.2,
"ip_rank": 162,
"h_value": 19.0,
"h_rank": 263,
"er_value": 9.0,
"er_rank": 266,
"hr_value": 2.0,
"hr_rank": 242,
"bb_value": 12.0,
"bb_rank": 185,
"k_value": 32.0,
"k_rank": 146,
"k_per_9_value": 9.391304,
"k_per_9_rank": 24,
"whip_value": 1.0108,
"whip_rank": null,
"war_value": 0.59,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9988,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0036,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0144,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0087,
"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": 3,
"H": 5,
"BB": 4,
"SO": 12,
"HR": 1,
"ERA": 2.4545454545454546,
"WHIP": 0.8181818181818182,
"K9": 9.818181818181818,
"HR9": 0.8181818181818182,
"games_pitched": 10,
"quality_starts": 0,
"dominant_form": false,
"struggling_form": false
},
"fielding": {
"errors": 0,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-26T00:00:00"
}{
"available": true,
"pitcher_id": "680755",
"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": 87.98334776394367,
"release_spin_rate": 2303.930623670888,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 87.98334776394367,
"release_spin_rate": 2303.930623670888,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9833,
"release_spin_rate": 2303.9306,
"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.0954,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.6817,
"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.049,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5475,
"prior_weight": 0.4525
},
"role": "pitcher",
"player_id": "680755",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 28,
"reference_playing_time": 0.667,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 6.0,
"ER": 0.0,
"R": 0.0,
"H": 2.0,
"BB": 2.0,
"SO": 9.0,
"HR": 0.0,
"BF": 22.0,
"Pitches": 84.0
},
"per_game": {
"IP": 1.1,
"ER": 0.0,
"R": 0.0,
"H": 0.4,
"BB": 0.4,
"SO": 1.8,
"HR": 0.0,
"BF": 4.4,
"Pitches": 16.8
},
"rates": {
"ERA": 0.0,
"WHIP": 0.6667,
"ER_per_IP": 0.0,
"H_per_IP": 0.33333,
"BB_per_IP": 0.33333,
"SO_per_IP": 1.5,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 11.0,
"ER": 3.0,
"R": 4.0,
"H": 5.0,
"BB": 4.0,
"SO": 12.0,
"HR": 1.0,
"BF": 42.0,
"Pitches": 169.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3,
"R": 0.4,
"H": 0.5,
"BB": 0.4,
"SO": 1.2,
"HR": 0.1,
"BF": 4.2,
"Pitches": 16.9
},
"rates": {
"ERA": 2.4545,
"WHIP": 0.8182,
"ER_per_IP": 0.27273,
"H_per_IP": 0.45455,
"BB_per_IP": 0.36364,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.09091
}
},
"season": {
"games": 28,
"totals": {
"IP": 30.2,
"ER": 9.0,
"R": 12.0,
"H": 19.0,
"BB": 12.0,
"SO": 32.0,
"HR": 2.0,
"BF": 117.0,
"Pitches": 472.0
},
"per_game": {
"IP": 1.0,
"ER": 0.3214,
"R": 0.4286,
"H": 0.6786,
"BB": 0.4286,
"SO": 1.1429,
"HR": 0.0714,
"BF": 4.1786,
"Pitches": 16.8571
},
"rates": {
"ERA": 2.6413,
"WHIP": 1.0109,
"ER_per_IP": 0.29348,
"H_per_IP": 0.61957,
"BB_per_IP": 0.3913,
"SO_per_IP": 1.04348,
"HR_per_IP": 0.06522
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.277,
"predicted_H": 0.618,
"predicted_BB": 0.337,
"predicted_SO": 1.043,
"predicted_HR": 0.078,
"predicted_ERA": 2.6787,
"predicted_WHIP": 1.0255
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5412,
"form_weight": 0.4588,
"form_reliability": 0.5475,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.049,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5475,
"prior_weight": 0.4525
},
"applied_metrics": {
"predicted_IP": {
"model": 0.2,
"form": 1.0,
"final": 0.2,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.277,
"final": 0.1271,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.618,
"final": 0.8247,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.337,
"final": 0.1546,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 1.043,
"final": 2.1021,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.078,
"final": 0.0358,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.6787,
"final": 2.6787,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.0255,
"final": 1.0255,
"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 | Spencer Miles |
| Role | Reliever |
| Projection Source | - |
| Savant Quality Score | 0.2672 |
| ESPN Rank | 73 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0726 |
| Avg Velo | 90.9834 |
| Avg Spin | 2420.1734 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 0.1000 |
| Pre ER | 2 |
| Pre H | 1 |
| Pre BB | 0 |
| Pre SO | 1 |
| Season ERA | - |
| Season WHIP | - |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"available": false,
"reason": "No team-form snapshot was stored for this pitcher row.",
"display_fallback": "Use the game-level Team Form Snapshot section for team context."
}{
"available": false,
"reason": "No pitcher-specific recent-form block was stored for this row.",
"display_fallback": "Use Player Form Blend windows for last-5, last-10, and season pitcher form."
}{
"available": true,
"pitcher_id": "693686",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 39,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 39,
"pitch_usage": 0.0,
"release_speed": 90.98341786527813,
"release_spin_rate": 2420.1733600540006,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 39,
"pitch_usage": 0.0,
"release_speed": 90.98341786527813,
"release_spin_rate": 2420.1733600540006,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9834,
"release_spin_rate": 2420.1734,
"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.0726,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.5183,
"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.575,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.568,
"prior_weight": 0.432
},
"role": "pitcher",
"player_id": "693686",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 15,
"reference_playing_time": 0.1,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 16.2,
"ER": 3.0,
"R": 3.0,
"H": 12.0,
"BB": 4.0,
"SO": 17.0,
"HR": 0.0,
"BF": 65.0,
"Pitches": 250.0
},
"per_game": {
"IP": 3.1,
"ER": 0.6,
"R": 0.6,
"H": 2.4,
"BB": 0.8,
"SO": 3.4,
"HR": 0.0,
"BF": 13.0,
"Pitches": 50.0
},
"rates": {
"ERA": 1.62,
"WHIP": 0.96,
"ER_per_IP": 0.18,
"H_per_IP": 0.72,
"BB_per_IP": 0.24,
"SO_per_IP": 1.02,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 24.0,
"ER": 4.0,
"R": 6.0,
"H": 17.0,
"BB": 6.0,
"SO": 24.0,
"HR": 0.0,
"BF": 96.0,
"Pitches": 370.0
},
"per_game": {
"IP": 2.1,
"ER": 0.4,
"R": 0.6,
"H": 1.7,
"BB": 0.6,
"SO": 2.4,
"HR": 0.0,
"BF": 9.6,
"Pitches": 37.0
},
"rates": {
"ERA": 1.5,
"WHIP": 0.9583,
"ER_per_IP": 0.16667,
"H_per_IP": 0.70833,
"BB_per_IP": 0.25,
"SO_per_IP": 1.0,
"HR_per_IP": 0.0
}
},
"season": {
"games": 15,
"totals": {
"IP": 33.1,
"ER": 8.0,
"R": 10.0,
"H": 25.0,
"BB": 9.0,
"SO": 32.0,
"HR": 2.0,
"BF": 133.0,
"Pitches": 513.0
},
"per_game": {
"IP": 2.1,
"ER": 0.5333,
"R": 0.6667,
"H": 1.6667,
"BB": 0.6,
"SO": 2.1333,
"HR": 0.1333,
"BF": 8.8667,
"Pitches": 34.2
},
"rates": {
"ERA": 2.16,
"WHIP": 1.02,
"ER_per_IP": 0.24,
"H_per_IP": 0.75,
"BB_per_IP": 0.27,
"SO_per_IP": 0.96,
"HR_per_IP": 0.06
}
}
},
"weighted_prediction": {
"predicted_IP": 1.2,
"predicted_ER": 0.535,
"predicted_H": 1.41,
"predicted_BB": 0.52,
"predicted_SO": 1.684,
"predicted_HR": 0.109,
"predicted_ERA": 2.7898,
"predicted_WHIP": 1.1186
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5325,
"form_weight": 0.4675,
"form_reliability": 0.568,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 6.575,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.568,
"prior_weight": 0.432
},
"applied_metrics": {
"predicted_IP": {
"model": 0.1,
"form": 1.2,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.535,
"final": 0.2501,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 1.41,
"final": 0.6591,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 0.52,
"final": 0.2431,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 1.684,
"final": 0.7872,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.109,
"final": 0.051,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.7898,
"final": 2.7898,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1186,
"final": 1.1186,
"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.145 | 0.000 | 0.000 | Hitting_2B | 0.143 | 0.000 | -0.143 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.930 | 4.000 | 8.000 | Hitting_AB | 3.625 | 3.000 | 0.375 | 1.000 |
| predicted_AVG | 0.267 | 0.250 | 0.375 | Hitting_AVG | 0.297 | 0.667 | -0.047 | -0.417 |
| predicted_BB | 0.566 | 1.000 | 1.000 | Hitting_BB | 0.585 | 1.000 | 0.415 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.018 | 0.000 | -0.018 | 0.000 |
| predicted_H | 1.050 | 1.000 | 3.000 | Hitting_H | 1.076 | 2.000 | -0.076 | -1.000 |
| predicted_HR | 0.100 | 0.000 | 0.000 | Hitting_HR | 0.054 | 0.000 | -0.054 | 0.000 |
| predicted_OBP | 0.372 | 0.400 | 0.444 | Hitting_OBP | 0.401 | 0.750 | -0.001 | -0.350 |
| predicted_R | 0.629 | 1.000 | 1.000 | Hitting_R | 0.634 | 0.000 | 0.366 | 1.000 |
| predicted_RBI | 0.420 | 1.000 | 1.000 | Hitting_RBI | 0.433 | 0.000 | 0.567 | 1.000 |
| predicted_SLG | 0.396 | 0.250 | 0.375 | Hitting_SLG | 0.381 | 0.667 | -0.131 | -0.417 |
| predicted_SO | 0.443 | 1.000 | 1.000 | Hitting_SO | 0.438 | 1.000 | 0.562 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 11 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 3 |
| Better Metrics | 7 |
| Worse Metrics | 4 |
| Biggest Boost | predicted_RBI: 0.4200 -> 1.0000 (boost 0.5800, better) |
| Biggest Deboost | predicted_2B: 0.1450 -> 0.0000 (deboost -0.1450, 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.9300 -> 8.3756 (boost 4.4456, 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.3000 -> 0.3252 (boost 0.0252, 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 | 3 | 5 | predicted_H: 2.7236 -> 3.0000 (boost 0.2764, better) | predicted_AB: 8.3756 -> 8.0000 (deboost -0.3756, worse) | AB rounded to 8 (raw=8.38), rates preserved: AVG=0.325 HR/AB=0.016 |
| 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 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3493 -> 1.0000 (deboost -0.3493, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.3252 -> 0.3750 (boost 0.0498, better) | predicted_SLG: 0.4089 -> 0.3750 (deboost -0.0339, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 2 | 0 | 2 | 0 | 2 | - | predicted_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.3750 -> 0.4089 (boost 0.0339, better) | predicted_AVG: 0.3750 -> 0.3252 (deboost -0.0498, 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.145,
"predicted_3B": 0.0,
"predicted_AB": 3.93,
"predicted_AVG": 0.267,
"predicted_BB": 0.566,
"predicted_H": 1.05,
"predicted_HR": 0.1,
"predicted_OBP": 0.372,
"predicted_R": 0.629,
"predicted_RBI": 0.42,
"predicted_SLG": 0.396,
"predicted_SO": 0.443
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2871,
"predicted_3B": 0.0009,
"predicted_AB": 8.3756,
"predicted_AVG": 0.3,
"predicted_BB": 1.3213,
"predicted_H": 2.6982,
"predicted_HBP": 0.199,
"predicted_HR": 0.1362,
"predicted_OBP": 0.3997,
"predicted_R": 1.3274,
"predicted_RBI": 0.8559,
"predicted_SLG": 0.404,
"predicted_SO": 1.095
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.145,
"after": 0.2871,
"delta": 0.1421,
"percent_delta": 0.98,
"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.93,
"after": 8.3756,
"delta": 4.4456,
"percent_delta": 1.1312,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.3,
"delta": 0.033,
"percent_delta": 0.1236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 1.3213,
"delta": 0.7553,
"percent_delta": 1.3345,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 2.6982,
"delta": 1.6482,
"percent_delta": 1.5697,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.1362,
"delta": 0.0362,
"percent_delta": 0.362,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.372,
"after": 0.3997,
"delta": 0.0277,
"percent_delta": 0.0745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.629,
"after": 1.3274,
"delta": 0.6984,
"percent_delta": 1.1103,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.42,
"after": 0.8559,
"delta": 0.4359,
"percent_delta": 1.0379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.404,
"delta": 0.008,
"percent_delta": 0.0202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.443,
"after": 1.095,
"delta": 0.652,
"percent_delta": 1.4718,
"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.93,
"after": 8.3756,
"delta": 4.4456,
"percent_delta": 1.1312,
"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": 3,
"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.2871,
"predicted_3B": 0.0009,
"predicted_AB": 8.3756,
"predicted_AVG": 0.3252,
"predicted_BB": 1.3231,
"predicted_H": 2.7236,
"predicted_HBP": 0.199,
"predicted_HR": 0.1373,
"predicted_OBP": 0.4172,
"predicted_R": 1.3493,
"predicted_RBI": 0.87,
"predicted_SLG": 0.4089,
"predicted_SO": 1.0935
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2871,
"after": 0.2871,
"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.3756,
"after": 8.3756,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.3252,
"delta": 0.0252,
"percent_delta": 0.084,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3213,
"after": 1.3231,
"delta": 0.0018,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.6982,
"after": 2.7236,
"delta": 0.0254,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.199,
"after": 0.199,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1362,
"after": 0.1373,
"delta": 0.0011,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3997,
"after": 0.4172,
"delta": 0.0175,
"percent_delta": 0.0438,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3274,
"after": 1.3493,
"delta": 0.0219,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8559,
"after": 0.87,
"delta": 0.0141,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.404,
"after": 0.4089,
"delta": 0.0049,
"percent_delta": 0.0121,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.095,
"after": 1.0935,
"delta": -0.0015,
"percent_delta": -0.0014,
"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.3,
"after": 0.3252,
"delta": 0.0252,
"percent_delta": 0.084,
"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.38), rates preserved: AVG=0.325 HR/AB=0.016",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 8.0,
"predicted_BB": 1.0,
"predicted_H": 3.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.2871,
"after": 0.0,
"delta": -0.2871,
"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.3756,
"after": 8.0,
"delta": -0.3756,
"percent_delta": -0.0448,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.3231,
"after": 1.0,
"delta": -0.3231,
"percent_delta": -0.2442,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.7236,
"after": 3.0,
"delta": 0.2764,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.199,
"after": 0.0,
"delta": -0.199,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1373,
"after": 0.0,
"delta": -0.1373,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.87,
"after": 1.0,
"delta": 0.13,
"percent_delta": 0.1494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0935,
"after": 1.0,
"delta": -0.0935,
"percent_delta": -0.0855,
"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_H",
"before": 2.7236,
"after": 3.0,
"delta": 0.2764,
"percent_delta": 0.1015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 8.3756,
"after": 8.0,
"delta": -0.3756,
"percent_delta": -0.0448,
"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": 8.0,
"predicted_BB": 1.0,
"predicted_H": 3.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": 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_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": 8.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3493,
"after": 1.0,
"delta": -0.3493,
"percent_delta": -0.2589,
"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.3493,
"after": 1.0,
"delta": -0.3493,
"percent_delta": -0.2589,
"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.375,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.444,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.375,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3252,
"after": 0.375,
"delta": 0.0498,
"percent_delta": 0.1531,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.4172,
"after": 0.444,
"delta": 0.0268,
"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.4089,
"after": 0.375,
"delta": -0.0339,
"percent_delta": -0.0829,
"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.3252,
"after": 0.375,
"delta": 0.0498,
"percent_delta": 0.1531,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4089,
"after": 0.375,
"delta": -0.0339,
"percent_delta": -0.0829,
"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": 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": 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": 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": 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": 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.3252,
"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.4172,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4089,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.375,
"after": 0.3252,
"delta": -0.0498,
"percent_delta": -0.1329,
"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.444,
"after": 0.4172,
"delta": -0.0268,
"percent_delta": -0.0603,
"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.375,
"after": 0.4089,
"delta": 0.0339,
"percent_delta": 0.0903,
"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.375,
"after": 0.4089,
"delta": 0.0339,
"percent_delta": 0.0903,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.375,
"after": 0.3252,
"delta": -0.0498,
"percent_delta": -0.1329,
"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.145,
"after": 0.0,
"delta": -0.145,
"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.93,
"after": 4.0,
"delta": 0.07,
"percent_delta": 0.0178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.3252,
"delta": 0.0582,
"percent_delta": 0.218,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.566,
"after": 1.0,
"delta": 0.434,
"percent_delta": 0.7668,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.05,
"after": 1.0,
"delta": -0.05,
"percent_delta": -0.0476,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1,
"after": 0.0,
"delta": -0.1,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.372,
"after": 0.4172,
"delta": 0.0452,
"percent_delta": 0.1215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.629,
"after": 1.0,
"delta": 0.371,
"percent_delta": 0.5898,
"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.396,
"after": 0.4089,
"delta": 0.0129,
"percent_delta": 0.0326,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.443,
"after": 1.0,
"delta": 0.557,
"percent_delta": 1.2573,
"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_RBI",
"before": 0.42,
"after": 1.0,
"delta": 0.58,
"percent_delta": 1.381,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.145,
"after": 0.0,
"delta": -0.145,
"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.145 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.930 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.566 | - |
| predicted_H | 1.050 | - |
| predicted_HR | 0.100 | - |
| predicted_OBP | 0.372 | - |
| predicted_R | 0.629 | - |
| predicted_RBI | 0.420 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 0.443 | - |
Final model 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.287 | 0.142 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.376 | 4.446 |
| predicted_AVG | 0.300 | 0.033 |
| predicted_BB | 1.321 | 0.755 |
| predicted_H | 2.698 | 1.648 |
| predicted_HBP | 0.199 | - |
| predicted_HR | 0.136 | 0.036 |
| predicted_OBP | 0.400 | 0.028 |
| predicted_R | 1.327 | 0.698 |
| predicted_RBI | 0.856 | 0.436 |
| predicted_SLG | 0.404 | 0.008 |
| predicted_SO | 1.095 | 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.287 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.376 | 0.000 |
| predicted_AVG | 0.325 | 0.025 |
| predicted_BB | 1.323 | 0.002 |
| predicted_H | 2.724 | 0.025 |
| predicted_HBP | 0.199 | 0.000 |
| predicted_HR | 0.137 | 0.001 |
| predicted_OBP | 0.417 | 0.018 |
| predicted_R | 1.349 | 0.022 |
| predicted_RBI | 0.870 | 0.014 |
| predicted_SLG | 0.409 | 0.005 |
| predicted_SO | 1.093 | -0.002 |
AB rounded to 8 (raw=8.38), rates preserved: AVG=0.325 HR/AB=0.016
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 8.000 | - |
| BB | 1.000 | - |
| H | 3.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 | 8.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.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 | 3.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.287 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.376 |
| predicted_AVG | 0.375 | 0.050 |
| predicted_BB | 1.000 | -0.323 |
| predicted_H | 3.000 | 0.276 |
| predicted_HR | 0.000 | -0.137 |
| predicted_OBP | 0.444 | 0.027 |
| predicted_R | 1.000 | -0.349 |
| predicted_RBI | 1.000 | 0.130 |
| predicted_SLG | 0.375 | -0.034 |
| predicted_SO | 1.000 | -0.093 |
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 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | 0.000 |
| PA | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | 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 | - | 16.000 | 10.000 | 0.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 4.000 | 0.6250 | 0.7000 | 0.6250 | 0.6250 | 0.0000 | 0.0000 | 0.2500 | 0.2500 |
| last_10 | 0.20 | 3 | - | 36.000 | 18.000 | 0.000 | 0.000 | 0.000 | 0.000 | 6.000 | 6.000 | 4.000 | 0.5000 | 0.5714 | 0.5000 | 0.5000 | 0.0000 | 0.0000 | 0.1667 | 0.1111 |
| season | 0.60 | 53 | - | 812.000 | 241.000 | 32.000 | 0.000 | 12.000 | 97.000 | 139.000 | 125.000 | 98.000 | 0.2968 | 0.3950 | 0.3805 | 0.2968 | 0.0148 | 0.1195 | 0.1539 | 0.1207 |
| Metric | Value |
|---|---|
| predicted_2B | 0.4670 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.0070 |
| predicted_AVG | 0.3417 |
| predicted_BB | 2.2780 |
| predicted_H | 4.7860 |
| predicted_HBP | 0.1990 |
| predicted_HR | 0.1820 |
| predicted_OBP | 0.4349 |
| predicted_R | 2.2120 |
| predicted_RBI | 1.4080 |
| predicted_SLG | 0.4141 |
| predicted_SO | 1.9210 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1450 | 0.4670 | 0.2871 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.9300 | 14.0070 | 8.3756 | model_form_blend |
| predicted_AVG | 0.2670 | 0.3417 | 0.3000 | model_form_blend |
| predicted_BB | 0.5660 | 2.2780 | 1.3213 | model_form_blend |
| predicted_H | 1.0500 | 4.7860 | 2.6982 | model_form_blend |
| predicted_HBP | - | 0.1990 | 0.1990 | form_only |
| predicted_HR | 0.1000 | 0.1820 | 0.1362 | model_form_blend |
| predicted_OBP | 0.3720 | 0.4349 | 0.3997 | model_form_blend |
| predicted_R | 0.6290 | 2.2120 | 1.3274 | model_form_blend |
| predicted_RBI | 0.4200 | 1.4080 | 0.8559 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4141 | 0.4040 | model_form_blend |
| predicted_SO | 0.4430 | 1.9210 | 1.0950 | 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 | 224 |
| Season rows before report date | 224 |
| 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.297 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 1 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.667 |
| Hitting_BB | 1 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 1 |
| 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 | 1B |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 665489 |
| playerID | 665489 |
| playerName | Vladimir Guerrero Jr. |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 10.3 |
| sl_bb_percent | 12.6 |
| sl_woba | 0.342 |
| sl_xwoba | 0.364 |
| sl_xba | 0.302 |
| sl_xslg | 0.425 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 7.1 |
| sl_hard_hit_percent | 42.9 |
| sl_exit_velocity_avg | 90.4 |
| sl_launch_angle_avg | 8.9 |
| sl_whiff_percent | 20.1 |
| sl_swing_percent | 48.2 |
| at_bat_number | 63.0 |
| ab_pitcher | 664126.0 |
| ab_pitcher_name | Fairbanks, Pete |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| 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 | 1.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | strikeout |
| ab_event_description | Vladimir Guerrero Jr. strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 65.2 |
| ab_launch_angle_last | 70.0 |
| ab_hit_distance_last | 116.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 | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 89.675 |
| ab_release_spin_rate_avg | 2391.75 |
| ab_effective_speed_avg | 89.825 |
| ab_launch_speed_avg | 65.2 |
| ab_launch_angle_avg | 70.0 |
| ab_delta_run_exp_avg | -0.064 |
| ab_delta_home_win_exp_avg | -0.0035 |
| ab_delta_pitcher_run_exp_avg | 0.064 |
| ab_bat_speed_avg | 77.0 |
| ab_swing_length_avg | 7.95 |
| ab_launch_speed_max | 65.2 |
| ab_hit_distance_sc_max | 116.0 |
| ab_release_speed_max | 97.7 |
| ab_release_spin_rate_max | 2468.0 |
| ab_release_speed_min | 82.9 |
| ab_release_spin_rate_min | 2302.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.014 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| 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.308 | 1.000 | 1.000 | Hitting_2B | 0.303 | 1.000 | 0.697 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.431 | 4.000 | 6.000 | Hitting_AB | 3.379 | 4.000 | 0.621 | 0.000 |
| predicted_AVG | 0.285 | 0.250 | 0.333 | Hitting_AVG | 0.318 | 0.250 | -0.068 | 0.000 |
| predicted_BB | 0.062 | 1.000 | 0.000 | Hitting_BB | 0.061 | 0.000 | 0.939 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.076 | 0.000 | -0.076 | 0.000 |
| predicted_H | 0.880 | 1.000 | 2.000 | Hitting_H | 1.076 | 1.000 | -0.076 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_OBP | 0.351 | 0.400 | 0.333 | Hitting_OBP | 0.361 | 0.250 | 0.039 | 0.150 |
| predicted_R | 0.292 | 1.000 | 0.000 | Hitting_R | 0.303 | 0.000 | 0.697 | 1.000 |
| predicted_RBI | 0.440 | 2.000 | 1.000 | Hitting_RBI | 0.515 | 1.000 | 1.485 | 1.000 |
| predicted_SLG | 0.429 | 0.500 | 0.500 | Hitting_SLG | 0.408 | 0.500 | 0.092 | 0.000 |
| predicted_SO | 0.585 | 2.000 | 1.000 | Hitting_SO | 0.576 | 2.000 | 1.424 | 0.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 10 |
| Boosted Metrics | 8 |
| Deboosted Metrics | 2 |
| Better Metrics | 7 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_RBI: 0.4400 -> 2.0000 (boost 1.5600, better) |
| Biggest Deboost | predicted_HR: 0.0600 -> 0.0000 (deboost -0.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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.4310 -> 6.1305 (boost 2.6995, 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.3586 -> 0.3195 (deboost -0.0391, 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_2B: 0.5857 -> 1.0000 (boost 0.4143, better) | predicted_HBP: 0.5200 -> 0.0000 (deboost -0.5200, worse) | AB rounded to 6 (raw=6.13), rates preserved: AVG=0.305 HR/AB=0.008 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 0.4972 -> 0.0000 (deboost -0.4972, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4264 -> 0.5000 (boost 0.0736, better) | - | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 7 | simulation_box_score_reference | 6 | 4 | 2 | 3 | 3 | predicted_BB: 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 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5000 -> 0.4264 (deboost -0.0736, worse) | 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.308,
"predicted_3B": 0.0,
"predicted_AB": 3.431,
"predicted_AVG": 0.285,
"predicted_BB": 0.062,
"predicted_H": 0.88,
"predicted_HR": 0.06,
"predicted_OBP": 0.351,
"predicted_R": 0.292,
"predicted_RBI": 0.44,
"predicted_SLG": 0.429,
"predicted_SO": 0.585
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.5857,
"predicted_3B": 0.0017,
"predicted_AB": 6.1305,
"predicted_AVG": 0.3017,
"predicted_BB": 0.1263,
"predicted_H": 1.8551,
"predicted_HBP": 0.52,
"predicted_HR": 0.0504,
"predicted_OBP": 0.3586,
"predicted_R": 0.4891,
"predicted_RBI": 0.8869,
"predicted_SLG": 0.4316,
"predicted_SO": 1.2189
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.308,
"after": 0.5857,
"delta": 0.2777,
"percent_delta": 0.9016,
"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.431,
"after": 6.1305,
"delta": 2.6995,
"percent_delta": 0.7868,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.3017,
"delta": 0.0167,
"percent_delta": 0.0586,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.062,
"after": 0.1263,
"delta": 0.0643,
"percent_delta": 1.0371,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.88,
"after": 1.8551,
"delta": 0.9751,
"percent_delta": 1.1081,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0504,
"delta": -0.0096,
"percent_delta": -0.16,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3586,
"delta": 0.0076,
"percent_delta": 0.0217,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 0.4891,
"delta": 0.1971,
"percent_delta": 0.675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8869,
"delta": 0.4469,
"percent_delta": 1.0157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4316,
"delta": 0.0026,
"percent_delta": 0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.585,
"after": 1.2189,
"delta": 0.6339,
"percent_delta": 1.0836,
"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.431,
"after": 6.1305,
"delta": 2.6995,
"percent_delta": 0.7868,
"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": 3,
"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.5857,
"predicted_3B": 0.0017,
"predicted_AB": 6.1305,
"predicted_AVG": 0.3054,
"predicted_BB": 0.1265,
"predicted_H": 1.8725,
"predicted_HBP": 0.52,
"predicted_HR": 0.0508,
"predicted_OBP": 0.3195,
"predicted_R": 0.4972,
"predicted_RBI": 0.9015,
"predicted_SLG": 0.4264,
"predicted_SO": 1.2172
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5857,
"after": 0.5857,
"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": 6.1305,
"after": 6.1305,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3017,
"after": 0.3054,
"delta": 0.0037,
"percent_delta": 0.0123,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.1263,
"after": 0.1265,
"delta": 0.0002,
"percent_delta": 0.0016,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8551,
"after": 1.8725,
"delta": 0.0174,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.52,
"after": 0.52,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0504,
"after": 0.0508,
"delta": 0.0004,
"percent_delta": 0.0079,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3586,
"after": 0.3195,
"delta": -0.0391,
"percent_delta": -0.109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4891,
"after": 0.4972,
"delta": 0.0081,
"percent_delta": 0.0166,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8869,
"after": 0.9015,
"delta": 0.0146,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4316,
"after": 0.4264,
"delta": -0.0052,
"percent_delta": -0.012,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2189,
"after": 1.2172,
"delta": -0.0017,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3586,
"after": 0.3195,
"delta": -0.0391,
"percent_delta": -0.109,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=6.13), rates preserved: AVG=0.305 HR/AB=0.008",
"stats": {
"predicted_2B": 1.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.5857,
"after": 1.0,
"delta": 0.4143,
"percent_delta": 0.7074,
"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": 6.1305,
"after": 6.0,
"delta": -0.1305,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1265,
"after": 0.0,
"delta": -0.1265,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.8725,
"after": 2.0,
"delta": 0.1275,
"percent_delta": 0.0681,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0508,
"after": 0.0,
"delta": -0.0508,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9015,
"after": 1.0,
"delta": 0.0985,
"percent_delta": 0.1093,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.2172,
"after": 1.0,
"delta": -0.2172,
"percent_delta": -0.1784,
"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_2B",
"before": 0.5857,
"after": 1.0,
"delta": 0.4143,
"percent_delta": 0.7074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.52,
"after": 0.0,
"delta": -0.52,
"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": 2.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": 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": 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.4972,
"after": 0.0,
"delta": -0.4972,
"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.4972,
"after": 0.0,
"delta": -0.4972,
"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": 1.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": 0.0,
"predicted_RBI": 1.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": 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.3054,
"after": 0.333,
"delta": 0.0276,
"percent_delta": 0.0904,
"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.3195,
"after": 0.333,
"delta": 0.0135,
"percent_delta": 0.0423,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4264,
"after": 0.5,
"delta": 0.0736,
"percent_delta": 0.1726,
"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.4264,
"after": 0.5,
"delta": 0.0736,
"percent_delta": 0.1726,
"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": 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": 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": 4.0,
"delta": -2.0,
"percent_delta": -0.3333,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 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": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"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": 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.3054,
"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.3195,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4264,
"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.333,
"after": 0.3054,
"delta": -0.0276,
"percent_delta": -0.0827,
"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.3195,
"delta": -0.0135,
"percent_delta": -0.0406,
"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.5,
"after": 0.4264,
"delta": -0.0736,
"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": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5,
"after": 0.4264,
"delta": -0.0736,
"percent_delta": -0.1472,
"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.308,
"after": 1.0,
"delta": 0.692,
"percent_delta": 2.2468,
"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.431,
"after": 4.0,
"delta": 0.569,
"percent_delta": 0.1658,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.285,
"after": 0.3054,
"delta": 0.0204,
"percent_delta": 0.0716,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.062,
"after": 1.0,
"delta": 0.938,
"percent_delta": 15.129,
"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.06,
"after": 0.0,
"delta": -0.06,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.3195,
"delta": -0.0315,
"percent_delta": -0.0897,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.292,
"after": 1.0,
"delta": 0.708,
"percent_delta": 2.4247,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 2.0,
"delta": 1.56,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.429,
"after": 0.4264,
"delta": -0.0026,
"percent_delta": -0.0061,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.585,
"after": 2.0,
"delta": 1.415,
"percent_delta": 2.4188,
"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.44,
"after": 2.0,
"delta": 1.56,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.06,
"after": 0.0,
"delta": -0.06,
"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.308 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.431 | - |
| predicted_AVG | 0.285 | - |
| predicted_BB | 0.062 | - |
| predicted_H | 0.880 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.351 | - |
| predicted_R | 0.292 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.429 | - |
| predicted_SO | 0.585 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.586 | 0.278 |
| predicted_3B | 0.002 | 0.002 |
| predicted_AB | 6.130 | 2.699 |
| predicted_AVG | 0.302 | 0.017 |
| predicted_BB | 0.126 | 0.064 |
| predicted_H | 1.855 | 0.975 |
| predicted_HBP | 0.520 | - |
| predicted_HR | 0.050 | -0.010 |
| predicted_OBP | 0.359 | 0.008 |
| predicted_R | 0.489 | 0.197 |
| predicted_RBI | 0.887 | 0.447 |
| predicted_SLG | 0.432 | 0.003 |
| predicted_SO | 1.219 | 0.634 |
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.586 | 0.000 |
| predicted_3B | 0.002 | 0.000 |
| predicted_AB | 6.130 | 0.000 |
| predicted_AVG | 0.305 | 0.004 |
| predicted_BB | 0.127 | 0.000 |
| predicted_H | 1.873 | 0.017 |
| predicted_HBP | 0.520 | 0.000 |
| predicted_HR | 0.051 | 0.000 |
| predicted_OBP | 0.320 | -0.039 |
| predicted_R | 0.497 | 0.008 |
| predicted_RBI | 0.901 | 0.015 |
| predicted_SLG | 0.426 | -0.005 |
| predicted_SO | 1.217 | -0.002 |
AB rounded to 6 (raw=6.13), rates preserved: AVG=0.305 HR/AB=0.008
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.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 | 1.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 | 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 | 1.000 | 0.414 |
| predicted_3B | 0.000 | -0.002 |
| predicted_AB | 6.000 | -0.130 |
| predicted_AVG | 0.333 | 0.028 |
| predicted_BB | 0.000 | -0.127 |
| predicted_H | 2.000 | 0.127 |
| predicted_HR | 0.000 | -0.051 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 0.000 | -0.497 |
| predicted_RBI | 1.000 | 0.099 |
| predicted_SLG | 0.500 | 0.074 |
| predicted_SO | 1.000 | -0.217 |
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 | -2.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 | 1.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 | 2 | - | 20.000 | 7.000 | 4.000 | 0.000 | 0.000 | 4.000 | 0.000 | 0.000 | 9.000 | 0.3500 | 0.3810 | 0.5500 | 0.3500 | 0.0000 | 0.2000 | 0.0000 | 0.4500 |
| last_10 | 0.20 | 3 | - | 37.000 | 20.000 | 5.000 | 0.000 | 0.000 | 4.000 | 0.000 | 0.000 | 13.000 | 0.5405 | 0.5952 | 0.6757 | 0.5405 | 0.0000 | 0.1081 | 0.0000 | 0.3513 |
| season | 0.60 | 21 | - | 223.000 | 71.000 | 20.000 | 0.000 | 0.000 | 34.000 | 19.000 | 4.000 | 38.000 | 0.3184 | 0.3610 | 0.4081 | 0.3184 | 0.0000 | 0.1525 | 0.0179 | 0.1704 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9730 |
| predicted_3B | 0.0040 |
| predicted_AB | 9.8950 |
| predicted_AVG | 0.3249 |
| predicted_BB | 0.2160 |
| predicted_H | 3.2150 |
| predicted_HBP | 0.5200 |
| predicted_HR | 0.0370 |
| predicted_OBP | 0.3693 |
| predicted_R | 0.7640 |
| predicted_RBI | 1.5100 |
| predicted_SLG | 0.4353 |
| predicted_SO | 2.1030 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3080 | 0.9730 | 0.5857 | model_form_blend |
| predicted_3B | 0.0000 | 0.0040 | 0.0017 | model_form_blend |
| predicted_AB | 3.4310 | 9.8950 | 6.1305 | model_form_blend |
| predicted_AVG | 0.2850 | 0.3249 | 0.3017 | model_form_blend |
| predicted_BB | 0.0620 | 0.2160 | 0.1263 | model_form_blend |
| predicted_H | 0.8800 | 3.2150 | 1.8551 | model_form_blend |
| predicted_HBP | - | 0.5200 | 0.5200 | form_only |
| predicted_HR | 0.0600 | 0.0370 | 0.0504 | model_form_blend |
| predicted_OBP | 0.3510 | 0.3693 | 0.3586 | model_form_blend |
| predicted_R | 0.2920 | 0.7640 | 0.4891 | model_form_blend |
| predicted_RBI | 0.4400 | 1.5100 | 0.8869 | model_form_blend |
| predicted_SLG | 0.4290 | 0.4353 | 0.4316 | model_form_blend |
| predicted_SO | 0.5850 | 2.1030 | 1.2189 | 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 | 66 |
| Season rows before report date | 66 |
| 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 | 5 |
| AB | 4 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 2 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.318 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_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 | 1 |
| 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 | RF |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 664770 |
| playerID | 664770 |
| playerName | Nathan Lukes |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 13.1 |
| sl_bb_percent | 1.6 |
| sl_woba | 0.308 |
| sl_xwoba | 0.309 |
| sl_xba | 0.285 |
| sl_xslg | 0.371 |
| sl_sweet_spot_percent | 32.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 38.8 |
| sl_exit_velocity_avg | 87.0 |
| sl_launch_angle_avg | 15.9 |
| sl_whiff_percent | 14.2 |
| sl_swing_percent | 53.2 |
| at_bat_number | 58.0 |
| ab_pitcher | 667463.0 |
| ab_pitcher_name | King, John |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Nathan Lukes grounds out, shortstop Otto Lopez to first baseman Graham Pauley. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 6.0 |
| ab_launch_speed_last | 92.6 |
| ab_launch_angle_last | 8.0 |
| ab_hit_distance_last | 114.0 |
| ab_estimated_ba_last | 0.557 |
| ab_estimated_woba_last | 0.512 |
| ab_estimated_slg_last | 0.625 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 85.44999999999999 |
| ab_release_spin_rate_avg | 1946.5 |
| ab_effective_speed_avg | 84.80000000000001 |
| ab_launch_speed_avg | 92.6 |
| ab_launch_angle_avg | 8.0 |
| ab_delta_run_exp_avg | -0.122 |
| ab_delta_home_win_exp_avg | -0.005 |
| ab_delta_pitcher_run_exp_avg | 0.122 |
| ab_bat_speed_avg | 69.94999999999999 |
| ab_swing_length_avg | 6.45 |
| ab_launch_speed_max | 92.6 |
| ab_hit_distance_sc_max | 114.0 |
| ab_release_speed_max | 89.1 |
| ab_release_spin_rate_max | 2279.0 |
| ab_release_speed_min | 81.8 |
| ab_release_spin_rate_min | 1614.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | -0.01 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.202 | 0.000 | 0.000 | Hitting_2B | 0.201 | 0.000 | -0.201 | 0.000 |
| predicted_3B | 0.019 | 0.000 | 0.000 | Hitting_3B | 0.019 | 0.000 | -0.019 | 0.000 |
| predicted_AB | 3.830 | 5.000 | 8.000 | Hitting_AB | 3.775 | 4.000 | 1.225 | 1.000 |
| predicted_AVG | 0.242 | 0.000 | 0.250 | Hitting_AVG | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_BB | 0.404 | 0.000 | 1.000 | Hitting_BB | 0.402 | 0.000 | -0.402 | 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.043 | 0.000 | -1.043 | 0.000 |
| predicted_HR | 0.090 | 0.000 | 0.000 | Hitting_HR | 0.115 | 0.000 | -0.115 | 0.000 |
| predicted_OBP | 0.329 | 0.000 | 0.333 | Hitting_OBP | 0.352 | 0.000 | -0.352 | 0.000 |
| predicted_R | 0.548 | 1.000 | 1.000 | Hitting_R | 0.545 | 0.000 | 0.455 | 1.000 |
| predicted_RBI | 0.320 | 0.000 | 1.000 | Hitting_RBI | 0.354 | 0.000 | -0.354 | 0.000 |
| predicted_SLG | 0.378 | 0.000 | 0.250 | Hitting_SLG | 0.431 | 0.000 | -0.431 | 0.000 |
| predicted_SO | 0.774 | 1.000 | 2.000 | Hitting_SO | 0.770 | 2.000 | 0.230 | -1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 11 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 6 |
| Better Metrics | 4 |
| Worse Metrics | 7 |
| Biggest Boost | predicted_AB: 3.8300 -> 5.0000 (boost 1.1700, 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 | 9 | 9 | 0 | 8 | 1 | predicted_AB: 3.8300 -> 8.3809 (boost 4.5509, 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.2482 -> 0.2551 (boost 0.0069, 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_RBI: 0.6888 -> 1.0000 (boost 0.3112, better) | predicted_2B: 0.3905 -> 0.0000 (deboost -0.3905, worse) | AB rounded to 8 (raw=8.38), rates preserved: AVG=0.255 HR/AB=0.025 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2276 -> 1.0000 (deboost -0.2276, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3238 -> 0.3330 (boost 0.0092, better) | predicted_SLG: 0.3864 -> 0.2500 (deboost -0.1364, 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 -> 5.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.2500 -> 0.3864 (boost 0.1364, better) | predicted_OBP: 0.3330 -> 0.3238 (deboost -0.0092, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "662139",
"player_name": "Daulton Varsho",
"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.202,
"predicted_3B": 0.019,
"predicted_AB": 3.83,
"predicted_AVG": 0.242,
"predicted_BB": 0.404,
"predicted_H": 0.93,
"predicted_HR": 0.09,
"predicted_OBP": 0.329,
"predicted_R": 0.548,
"predicted_RBI": 0.32,
"predicted_SLG": 0.378,
"predicted_SO": 0.774
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.3905,
"predicted_3B": 0.0371,
"predicted_AB": 8.3809,
"predicted_AVG": 0.2482,
"predicted_BB": 0.8514,
"predicted_H": 2.1177,
"predicted_HBP": 0.12,
"predicted_HR": 0.2102,
"predicted_OBP": 0.3286,
"predicted_R": 1.2077,
"predicted_RBI": 0.6776,
"predicted_SLG": 0.3814,
"predicted_SO": 1.9203
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.202,
"after": 0.3905,
"delta": 0.1885,
"percent_delta": 0.9332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.019,
"after": 0.0371,
"delta": 0.0181,
"percent_delta": 0.9526,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.83,
"after": 8.3809,
"delta": 4.5509,
"percent_delta": 1.1882,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2482,
"delta": 0.0062,
"percent_delta": 0.0256,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.8514,
"delta": 0.4474,
"percent_delta": 1.1074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.93,
"after": 2.1177,
"delta": 1.1877,
"percent_delta": 1.2771,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.09,
"after": 0.2102,
"delta": 0.1202,
"percent_delta": 1.3356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3286,
"delta": -0.0004,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 1.2077,
"delta": 0.6597,
"percent_delta": 1.2038,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.32,
"after": 0.6776,
"delta": 0.3576,
"percent_delta": 1.1175,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3814,
"delta": 0.0034,
"percent_delta": 0.009,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.774,
"after": 1.9203,
"delta": 1.1463,
"percent_delta": 1.481,
"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.83,
"after": 8.3809,
"delta": 4.5509,
"percent_delta": 1.1882,
"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": 3,
"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.3905,
"predicted_3B": 0.0371,
"predicted_AB": 8.3809,
"predicted_AVG": 0.2551,
"predicted_BB": 0.8526,
"predicted_H": 2.1376,
"predicted_HBP": 0.12,
"predicted_HR": 0.2119,
"predicted_OBP": 0.3238,
"predicted_R": 1.2276,
"predicted_RBI": 0.6888,
"predicted_SLG": 0.3864,
"predicted_SO": 1.9176
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3905,
"after": 0.3905,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0371,
"after": 0.0371,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.3809,
"after": 8.3809,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2482,
"after": 0.2551,
"delta": 0.0069,
"percent_delta": 0.0278,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8514,
"after": 0.8526,
"delta": 0.0012,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.1177,
"after": 2.1376,
"delta": 0.0199,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.12,
"after": 0.12,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2102,
"after": 0.2119,
"delta": 0.0017,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3286,
"after": 0.3238,
"delta": -0.0048,
"percent_delta": -0.0146,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2077,
"after": 1.2276,
"delta": 0.0199,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6776,
"after": 0.6888,
"delta": 0.0112,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3814,
"after": 0.3864,
"delta": 0.005,
"percent_delta": 0.0131,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9203,
"after": 1.9176,
"delta": -0.0027,
"percent_delta": -0.0014,
"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.2482,
"after": 0.2551,
"delta": 0.0069,
"percent_delta": 0.0278,
"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.38), rates preserved: AVG=0.255 HR/AB=0.025",
"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.3905,
"after": 0.0,
"delta": -0.3905,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0371,
"after": 0.0,
"delta": -0.0371,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 8.3809,
"after": 8.0,
"delta": -0.3809,
"percent_delta": -0.0454,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8526,
"after": 1.0,
"delta": 0.1474,
"percent_delta": 0.1729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.1376,
"after": 2.0,
"delta": -0.1376,
"percent_delta": -0.0644,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.12,
"after": 0.0,
"delta": -0.12,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2119,
"after": 0.0,
"delta": -0.2119,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6888,
"after": 1.0,
"delta": 0.3112,
"percent_delta": 0.4518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.9176,
"after": 2.0,
"delta": 0.0824,
"percent_delta": 0.043,
"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.6888,
"after": 1.0,
"delta": 0.3112,
"percent_delta": 0.4518,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.3905,
"after": 0.0,
"delta": -0.3905,
"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": 1.2276,
"after": 1.0,
"delta": -0.2276,
"percent_delta": -0.1854,
"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.2276,
"after": 1.0,
"delta": -0.2276,
"percent_delta": -0.1854,
"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": 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.2551,
"after": 0.25,
"delta": -0.0051,
"percent_delta": -0.02,
"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.3238,
"after": 0.333,
"delta": 0.0092,
"percent_delta": 0.0284,
"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.3864,
"after": 0.25,
"delta": -0.1364,
"percent_delta": -0.353,
"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.3238,
"after": 0.333,
"delta": 0.0092,
"percent_delta": 0.0284,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3864,
"after": 0.25,
"delta": -0.1364,
"percent_delta": -0.353,
"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": 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": 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": 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": 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": 0,
"deboosted_metrics": 5,
"better_metrics": 1,
"worse_metrics": 4,
"biggest_boost": null,
"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": 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.2551,
"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.3238,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3864,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2551,
"delta": 0.0051,
"percent_delta": 0.0202,
"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.3238,
"delta": -0.0092,
"percent_delta": -0.0275,
"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.25,
"after": 0.3864,
"delta": 0.1364,
"percent_delta": 0.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.25,
"after": 0.3864,
"delta": 0.1364,
"percent_delta": 0.5455,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3238,
"delta": -0.0092,
"percent_delta": -0.0275,
"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.019,
"after": 0.0,
"delta": -0.019,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.83,
"after": 5.0,
"delta": 1.17,
"percent_delta": 0.3055,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.242,
"after": 0.2551,
"delta": 0.0131,
"percent_delta": 0.0541,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.0,
"delta": -0.404,
"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.09,
"after": 0.0,
"delta": -0.09,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.329,
"after": 0.3238,
"delta": -0.0052,
"percent_delta": -0.0158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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": 0.32,
"after": 0.0,
"delta": -0.32,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.378,
"after": 0.3864,
"delta": 0.0084,
"percent_delta": 0.0222,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.774,
"after": 1.0,
"delta": 0.226,
"percent_delta": 0.292,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 5,
"deboosted_metrics": 6,
"better_metrics": 4,
"worse_metrics": 7,
"biggest_boost": {
"metric": "predicted_AB",
"before": 3.83,
"after": 5.0,
"delta": 1.17,
"percent_delta": 0.3055,
"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.202 | - |
| predicted_3B | 0.019 | - |
| predicted_AB | 3.830 | - |
| predicted_AVG | 0.242 | - |
| predicted_BB | 0.404 | - |
| predicted_H | 0.930 | - |
| predicted_HR | 0.090 | - |
| predicted_OBP | 0.329 | - |
| predicted_R | 0.548 | - |
| predicted_RBI | 0.320 | - |
| predicted_SLG | 0.378 | - |
| predicted_SO | 0.774 | - |
Final model 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.391 | 0.189 |
| predicted_3B | 0.037 | 0.018 |
| predicted_AB | 8.381 | 4.551 |
| predicted_AVG | 0.248 | 0.006 |
| predicted_BB | 0.851 | 0.447 |
| predicted_H | 2.118 | 1.188 |
| predicted_HBP | 0.120 | - |
| predicted_HR | 0.210 | 0.120 |
| predicted_OBP | 0.329 | -0.000 |
| predicted_R | 1.208 | 0.660 |
| predicted_RBI | 0.678 | 0.358 |
| predicted_SLG | 0.381 | 0.003 |
| predicted_SO | 1.920 | 1.146 |
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.391 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 8.381 | 0.000 |
| predicted_AVG | 0.255 | 0.007 |
| predicted_BB | 0.853 | 0.001 |
| predicted_H | 2.138 | 0.020 |
| predicted_HBP | 0.120 | 0.000 |
| predicted_HR | 0.212 | 0.002 |
| predicted_OBP | 0.324 | -0.005 |
| predicted_R | 1.228 | 0.020 |
| predicted_RBI | 0.689 | 0.011 |
| predicted_SLG | 0.386 | 0.005 |
| predicted_SO | 1.918 | -0.003 |
AB rounded to 8 (raw=8.38), rates preserved: AVG=0.255 HR/AB=0.025
| 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.391 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 8.000 | -0.381 |
| predicted_AVG | 0.250 | -0.005 |
| predicted_BB | 1.000 | 0.147 |
| predicted_H | 2.000 | -0.138 |
| predicted_HR | 0.000 | -0.212 |
| predicted_OBP | 0.333 | 0.009 |
| predicted_R | 1.000 | -0.228 |
| predicted_RBI | 1.000 | 0.311 |
| predicted_SLG | 0.250 | -0.136 |
| predicted_SO | 2.000 | 0.082 |
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 | 0.000 | -2.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 | -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 | 2.000 | 1.000 | 9.000 | 0.1000 | 0.1429 | 0.1000 | 0.1000 | 0.0000 | 0.0000 | 0.0500 | 0.4500 |
| last_10 | 0.20 | 3 | - | 41.000 | 11.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.000 | 5.000 | 14.000 | 0.2683 | 0.3478 | 0.2683 | 0.2683 | 0.0000 | 0.0000 | 0.1220 | 0.3415 |
| season | 0.60 | 52 | - | 789.000 | 218.000 | 42.000 | 4.000 | 24.000 | 74.000 | 114.000 | 84.000 | 161.000 | 0.2763 | 0.3519 | 0.4309 | 0.2763 | 0.0304 | 0.0938 | 0.1065 | 0.2041 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6300 |
| predicted_3B | 0.0600 |
| predicted_AB | 14.1640 |
| predicted_AVG | 0.2561 |
| predicted_BB | 1.4200 |
| predicted_H | 3.6270 |
| predicted_HBP | 0.1200 |
| predicted_HR | 0.3630 |
| predicted_OBP | 0.3280 |
| predicted_R | 2.0460 |
| predicted_RBI | 1.1320 |
| predicted_SLG | 0.3858 |
| predicted_SO | 3.3770 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2020 | 0.6300 | 0.3905 | model_form_blend |
| predicted_3B | 0.0190 | 0.0600 | 0.0371 | model_form_blend |
| predicted_AB | 3.8300 | 14.1640 | 8.3809 | model_form_blend |
| predicted_AVG | 0.2420 | 0.2561 | 0.2482 | model_form_blend |
| predicted_BB | 0.4040 | 1.4200 | 0.8514 | model_form_blend |
| predicted_H | 0.9300 | 3.6270 | 2.1177 | model_form_blend |
| predicted_HBP | - | 0.1200 | 0.1200 | form_only |
| predicted_HR | 0.0900 | 0.3630 | 0.2102 | model_form_blend |
| predicted_OBP | 0.3290 | 0.3280 | 0.3286 | model_form_blend |
| predicted_R | 0.5480 | 2.0460 | 1.2077 | model_form_blend |
| predicted_RBI | 0.3200 | 1.1320 | 0.6776 | model_form_blend |
| predicted_SLG | 0.3780 | 0.3858 | 0.3814 | model_form_blend |
| predicted_SO | 0.7740 | 3.3770 | 1.9203 | 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 | 209 |
| Season rows before report date | 209 |
| 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 | 5 |
| AB | 5 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| 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 | 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 | 3 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | CF |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 662139 |
| playerID | 662139 |
| playerName | Daulton Varsho |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 19.4 |
| sl_bb_percent | 9.2 |
| sl_woba | 0.339 |
| sl_xwoba | 0.315 |
| sl_xba | 0.262 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 38.6 |
| sl_barrel_batted_rate | 6.2 |
| sl_hard_hit_percent | 39.3 |
| sl_exit_velocity_avg | 86.4 |
| sl_launch_angle_avg | 14.4 |
| sl_whiff_percent | 21.4 |
| sl_swing_percent | 53.4 |
| at_bat_number | 64.0 |
| ab_pitcher | 664126.0 |
| ab_pitcher_name | Fairbanks, Pete |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Daulton Varsho grounds out, first baseman Graham Pauley to pitcher Pete Fairbanks. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 104.2 |
| ab_launch_angle_last | -13.0 |
| ab_hit_distance_last | 4.0 |
| ab_estimated_ba_last | 0.29 |
| ab_estimated_woba_last | 0.275 |
| ab_estimated_slg_last | 0.3 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 97.3 |
| ab_release_spin_rate_avg | 2333.0 |
| ab_effective_speed_avg | 97.1 |
| ab_launch_speed_avg | 104.2 |
| ab_launch_angle_avg | -13.0 |
| ab_delta_run_exp_avg | -0.256 |
| ab_delta_home_win_exp_avg | -0.01 |
| ab_delta_pitcher_run_exp_avg | 0.256 |
| ab_bat_speed_avg | 70.3 |
| ab_swing_length_avg | 8.5 |
| ab_launch_speed_max | 104.2 |
| ab_hit_distance_sc_max | 4.0 |
| ab_release_speed_max | 97.3 |
| ab_release_spin_rate_max | 2333.0 |
| ab_release_speed_min | 97.3 |
| ab_release_spin_rate_min | 2333.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.01 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.217 | 0.000 | 0.000 | Hitting_2B | 0.217 | 0.000 | -0.217 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.390 | 5.000 | 9.000 | Hitting_AB | 4.045 | 2.000 | 0.955 | 3.000 |
| predicted_AVG | 0.227 | 0.200 | 0.222 | Hitting_AVG | 0.214 | 0.000 | -0.014 | 0.200 |
| predicted_BB | 0.414 | 0.000 | 1.000 | Hitting_BB | 0.414 | 0.000 | -0.414 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.990 | 1.000 | 2.000 | Hitting_H | 0.866 | 0.000 | 0.134 | 1.000 |
| predicted_HR | 0.170 | 0.000 | 0.000 | Hitting_HR | 0.146 | 0.000 | -0.146 | 0.000 |
| predicted_OBP | 0.310 | 0.200 | 0.300 | Hitting_OBP | 0.294 | 0.000 | -0.094 | 0.200 |
| predicted_R | 0.395 | 1.000 | 1.000 | Hitting_R | 0.395 | 0.000 | 0.605 | 1.000 |
| predicted_RBI | 0.460 | 1.000 | 1.000 | Hitting_RBI | 0.414 | 0.000 | 0.586 | 1.000 |
| predicted_SLG | 0.408 | 0.200 | 0.222 | Hitting_SLG | 0.376 | 0.000 | -0.176 | 0.200 |
| predicted_SO | 0.917 | 1.000 | 2.000 | Hitting_SO | 0.917 | 0.000 | 0.083 | 1.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 9 |
| Boosted Metrics | 5 |
| Deboosted Metrics | 4 |
| Better Metrics | 4 |
| Worse Metrics | 5 |
| Biggest Boost | predicted_AB: 4.3900 -> 5.0000 (boost 0.6100, better) |
| Biggest Deboost | predicted_BB: 0.4140 -> 0.0000 (deboost -0.4140, 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.3900 -> 9.2235 (boost 4.8335, 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.2423 -> 0.2545 (boost 0.0122, better) | predicted_OBP: 0.3229 -> 0.3145 (deboost -0.0084, 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.8081 -> 1.0000 (boost 0.1919, better) | predicted_HBP: 0.5550 -> 0.0000 (deboost -0.5550, worse) | AB rounded to 9 (raw=9.22), rates preserved: AVG=0.254 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.400) |
| 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.3993 -> 0.2220 (deboost -0.1773, 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: 9.0000 -> 5.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.2220 -> 0.3993 (boost 0.1773, better) | - | 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.217,
"predicted_3B": 0.0,
"predicted_AB": 4.39,
"predicted_AVG": 0.227,
"predicted_BB": 0.414,
"predicted_H": 0.99,
"predicted_HR": 0.17,
"predicted_OBP": 0.31,
"predicted_R": 0.395,
"predicted_RBI": 0.46,
"predicted_SLG": 0.408,
"predicted_SO": 0.917
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.4247,
"predicted_3B": 0.0009,
"predicted_AB": 9.2235,
"predicted_AVG": 0.2423,
"predicted_BB": 0.807,
"predicted_H": 2.3253,
"predicted_HBP": 0.555,
"predicted_HR": 0.3006,
"predicted_OBP": 0.3229,
"predicted_R": 0.9654,
"predicted_RBI": 1.0286,
"predicted_SLG": 0.4036,
"predicted_SO": 1.8282
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.217,
"after": 0.4247,
"delta": 0.2077,
"percent_delta": 0.9571,
"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.39,
"after": 9.2235,
"delta": 4.8335,
"percent_delta": 1.101,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2423,
"delta": 0.0153,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 0.807,
"delta": 0.393,
"percent_delta": 0.9493,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.99,
"after": 2.3253,
"delta": 1.3353,
"percent_delta": 1.3488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.3006,
"delta": 0.1306,
"percent_delta": 0.7682,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3229,
"delta": 0.0129,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 0.9654,
"delta": 0.5704,
"percent_delta": 1.4441,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0286,
"delta": 0.5686,
"percent_delta": 1.2361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.4036,
"delta": -0.0044,
"percent_delta": -0.0108,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.8282,
"delta": 0.9112,
"percent_delta": 0.9937,
"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.39,
"after": 9.2235,
"delta": 4.8335,
"percent_delta": 1.101,
"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": 3,
"season": 37
}
},
{
"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.4247,
"predicted_3B": 0.0009,
"predicted_AB": 9.2235,
"predicted_AVG": 0.2545,
"predicted_BB": 0.8081,
"predicted_H": 2.3472,
"predicted_HBP": 0.555,
"predicted_HR": 0.3031,
"predicted_OBP": 0.3145,
"predicted_R": 0.9813,
"predicted_RBI": 1.0456,
"predicted_SLG": 0.3993,
"predicted_SO": 1.8256
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4247,
"after": 0.4247,
"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": 9.2235,
"after": 9.2235,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.2545,
"delta": 0.0122,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.807,
"after": 0.8081,
"delta": 0.0011,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3253,
"after": 2.3472,
"delta": 0.0219,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.555,
"after": 0.555,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3006,
"after": 0.3031,
"delta": 0.0025,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.3145,
"delta": -0.0084,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9654,
"after": 0.9813,
"delta": 0.0159,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.0286,
"after": 1.0456,
"delta": 0.017,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4036,
"after": 0.3993,
"delta": -0.0043,
"percent_delta": -0.0107,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8282,
"after": 1.8256,
"delta": -0.0026,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2423,
"after": 0.2545,
"delta": 0.0122,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3229,
"after": 0.3145,
"delta": -0.0084,
"percent_delta": -0.026,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.22), rates preserved: AVG=0.254 HR/AB=0.033",
"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.4247,
"after": 0.0,
"delta": -0.4247,
"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": 9.2235,
"after": 9.0,
"delta": -0.2235,
"percent_delta": -0.0242,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8081,
"after": 1.0,
"delta": 0.1919,
"percent_delta": 0.2375,
"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.555,
"after": 0.0,
"delta": -0.555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3031,
"after": 0.0,
"delta": -0.3031,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0456,
"after": 1.0,
"delta": -0.0456,
"percent_delta": -0.0436,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.8256,
"after": 2.0,
"delta": 0.1744,
"percent_delta": 0.0955,
"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.8081,
"after": 1.0,
"delta": 0.1919,
"percent_delta": 0.2375,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.555,
"after": 0.0,
"delta": -0.555,
"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=20.0, weight=0.160, BvP AVG=0.400)",
"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": 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.84,
"bvp": 0.16
},
"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": 0.9813,
"after": 1.0,
"delta": 0.0187,
"percent_delta": 0.0191,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.2545,
"after": 0.222,
"delta": -0.0325,
"percent_delta": -0.1277,
"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.3145,
"after": 0.3,
"delta": -0.0145,
"percent_delta": -0.0461,
"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.3993,
"after": 0.222,
"delta": -0.1773,
"percent_delta": -0.444,
"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.3993,
"after": 0.222,
"delta": -0.1773,
"percent_delta": -0.444,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 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": 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": 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.2545,
"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.3145,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3993,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2545,
"delta": 0.0325,
"percent_delta": 0.1463,
"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.3145,
"delta": 0.0145,
"percent_delta": 0.0484,
"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.222,
"after": 0.3993,
"delta": 0.1773,
"percent_delta": 0.7986,
"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.3993,
"delta": 0.1773,
"percent_delta": 0.7986,
"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.217,
"after": 0.0,
"delta": -0.217,
"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.39,
"after": 5.0,
"delta": 0.61,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.2545,
"delta": 0.0275,
"percent_delta": 0.1211,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"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.17,
"after": 0.0,
"delta": -0.17,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.31,
"after": 0.3145,
"delta": 0.0045,
"percent_delta": 0.0145,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.395,
"after": 1.0,
"delta": 0.605,
"percent_delta": 1.5316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.0,
"delta": 0.54,
"percent_delta": 1.1739,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.408,
"after": 0.3993,
"delta": -0.0087,
"percent_delta": -0.0213,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.917,
"after": 1.0,
"delta": 0.083,
"percent_delta": 0.0905,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 9,
"boosted_metrics": 5,
"deboosted_metrics": 4,
"better_metrics": 4,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 4.39,
"after": 5.0,
"delta": 0.61,
"percent_delta": 0.139,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.414,
"after": 0.0,
"delta": -0.414,
"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.000 | - |
| predicted_AB | 4.390 | - |
| predicted_AVG | 0.227 | - |
| predicted_BB | 0.414 | - |
| predicted_H | 0.990 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.310 | - |
| predicted_R | 0.395 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.408 | - |
| predicted_SO | 0.917 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.425 | 0.208 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.223 | 4.833 |
| predicted_AVG | 0.242 | 0.015 |
| predicted_BB | 0.807 | 0.393 |
| predicted_H | 2.325 | 1.335 |
| predicted_HBP | 0.555 | - |
| predicted_HR | 0.301 | 0.131 |
| predicted_OBP | 0.323 | 0.013 |
| predicted_R | 0.965 | 0.570 |
| predicted_RBI | 1.029 | 0.569 |
| predicted_SLG | 0.404 | -0.004 |
| predicted_SO | 1.828 | 0.911 |
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.425 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.223 | 0.000 |
| predicted_AVG | 0.255 | 0.012 |
| predicted_BB | 0.808 | 0.001 |
| predicted_H | 2.347 | 0.022 |
| predicted_HBP | 0.555 | 0.000 |
| predicted_HR | 0.303 | 0.003 |
| predicted_OBP | 0.315 | -0.008 |
| predicted_R | 0.981 | 0.016 |
| predicted_RBI | 1.046 | 0.017 |
| predicted_SLG | 0.399 | -0.004 |
| predicted_SO | 1.826 | -0.003 |
AB rounded to 9 (raw=9.22), rates preserved: AVG=0.254 HR/AB=0.033
| 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 | - |
Sample-size BvP blend (BvP AB=20.0, weight=0.160, BvP AVG=0.400)
| 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 | 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.425 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.223 |
| predicted_AVG | 0.222 | -0.033 |
| predicted_BB | 1.000 | 0.192 |
| predicted_H | 2.000 | -0.347 |
| predicted_HR | 0.000 | -0.303 |
| predicted_OBP | 0.300 | -0.015 |
| predicted_R | 1.000 | 0.019 |
| predicted_RBI | 1.000 | -0.046 |
| predicted_SLG | 0.222 | -0.177 |
| predicted_SO | 2.000 | 0.174 |
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 | -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 | 5.000 | - |
| R | 1.000 | 0.000 |
| RBI | 1.000 | 0.000 |
| SB | 0.000 | 0.000 |
| SF | 0.000 | 0.000 |
| SO | 1.000 | -1.000 |
| Window | Weight | Games | Total PA | Total AB | Total H | Total 2B | Total 3B | Total HR | Total RBI | Total R | Total BB | Total SO | AVG | OBP | SLG | H_per_AB | HR_per_AB | RBI_per_AB | BB_per_AB | SO_per_AB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.20 | 2 | - | 16.000 | 9.000 | 0.000 | 0.000 | 0.000 | 3.000 | 3.000 | 0.000 | 0.000 | 0.5625 | 0.6316 | 0.5625 | 0.5625 | 0.0000 | 0.1875 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 39.000 | 15.000 | 0.000 | 0.000 | 0.000 | 5.000 | 5.000 | 0.000 | 3.000 | 0.3846 | 0.4545 | 0.3846 | 0.3846 | 0.0000 | 0.1282 | 0.0000 | 0.0769 |
| season | 0.60 | 37 | - | 635.000 | 136.000 | 34.000 | 0.000 | 23.000 | 65.000 | 62.000 | 65.000 | 144.000 | 0.2142 | 0.2942 | 0.3764 | 0.2142 | 0.0362 | 0.1024 | 0.1024 | 0.2268 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6910 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.4230 |
| predicted_AVG | 0.2619 |
| predicted_BB | 1.3110 |
| predicted_H | 4.0380 |
| predicted_HBP | 0.5550 |
| predicted_HR | 0.4680 |
| predicted_OBP | 0.3395 |
| predicted_R | 1.6970 |
| predicted_RBI | 1.7580 |
| predicted_SLG | 0.3979 |
| predicted_SO | 2.9970 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2170 | 0.6910 | 0.4247 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.3900 | 15.4230 | 9.2235 | model_form_blend |
| predicted_AVG | 0.2270 | 0.2619 | 0.2423 | model_form_blend |
| predicted_BB | 0.4140 | 1.3110 | 0.8070 | model_form_blend |
| predicted_H | 0.9900 | 4.0380 | 2.3253 | model_form_blend |
| predicted_HBP | - | 0.5550 | 0.5550 | form_only |
| predicted_HR | 0.1700 | 0.4680 | 0.3006 | model_form_blend |
| predicted_OBP | 0.3100 | 0.3395 | 0.3229 | model_form_blend |
| predicted_R | 0.3950 | 1.6970 | 0.9654 | model_form_blend |
| predicted_RBI | 0.4600 | 1.7580 | 1.0286 | model_form_blend |
| predicted_SLG | 0.4080 | 0.3979 | 0.4036 | model_form_blend |
| predicted_SO | 0.9170 | 2.9970 | 1.8282 | 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 | 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 | 5 |
| AB | 5 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.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 | 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 | 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 | PH-DH |
| gameID | 20260527_MIA@TOR |
| game_type | ph |
| mlbID | 543807 |
| note | Grounded out for Sánchez, J in the 6th. |
| playerID | 543807 |
| playerName | George Springer |
| pos | DH |
| started | False |
| startingPosition | PH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 19.6 |
| sl_bb_percent | 8.9 |
| sl_woba | 0.3 |
| sl_xwoba | 0.299 |
| sl_xba | 0.216 |
| sl_xslg | 0.376 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 8.3 |
| sl_hard_hit_percent | 37.6 |
| sl_exit_velocity_avg | 87.6 |
| sl_launch_angle_avg | 15.5 |
| sl_whiff_percent | 25.2 |
| sl_swing_percent | 51.1 |
| at_bat_number | 65.0 |
| ab_pitcher | 664126.0 |
| ab_pitcher_name | Fairbanks, Pete |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | George Springer grounds out, shortstop Otto Lopez to first baseman Graham Pauley. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 6.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 95.9 |
| ab_launch_angle_last | 0.0 |
| ab_hit_distance_last | 49.0 |
| ab_estimated_ba_last | 0.451 |
| ab_estimated_woba_last | 0.408 |
| ab_estimated_slg_last | 0.486 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 2.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 5.0 |
| ab_release_speed_avg | 89.5 |
| ab_release_spin_rate_avg | 2502.8 |
| ab_effective_speed_avg | 89.4 |
| ab_launch_speed_avg | 95.9 |
| ab_launch_angle_avg | 0.0 |
| ab_delta_run_exp_avg | -0.049 |
| ab_delta_home_win_exp_avg | -0.0016 |
| ab_delta_pitcher_run_exp_avg | 0.049 |
| ab_bat_speed_avg | 76.1 |
| ab_swing_length_avg | 8.2 |
| ab_launch_speed_max | 95.9 |
| ab_hit_distance_sc_max | 49.0 |
| ab_release_speed_max | 97.4 |
| ab_release_spin_rate_max | 2709.0 |
| ab_release_speed_min | 81.0 |
| ab_release_spin_rate_min | 2352.0 |
| ab_delta_run_exp_sum | -0.245 |
| ab_delta_home_win_exp_sum | -0.008 |
| ab_delta_pitcher_run_exp_sum | 0.245 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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.810 | 4.000 | 8.000 | Hitting_AB | 3.736 | 2.000 | 0.264 | 2.000 |
| predicted_AVG | 0.221 | 0.000 | 0.250 | Hitting_AVG | 0.223 | 0.500 | -0.223 | -0.500 |
| predicted_BB | 0.452 | 0.000 | 1.000 | Hitting_BB | 0.450 | 0.000 | -0.450 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.840 | 0.000 | 2.000 | Hitting_H | 0.832 | 1.000 | -0.832 | -1.000 |
| predicted_HR | 0.170 | 0.000 | 1.000 | Hitting_HR | 0.218 | 1.000 | -0.218 | -1.000 |
| predicted_OBP | 0.292 | 0.000 | 0.333 | Hitting_OBP | 0.310 | 0.667 | -0.310 | -0.667 |
| predicted_R | 0.516 | 0.000 | 1.000 | Hitting_R | 0.514 | 1.000 | -0.514 | -1.000 |
| predicted_RBI | 0.460 | 0.000 | 1.000 | Hitting_RBI | 0.582 | 1.000 | -0.582 | -1.000 |
| predicted_SLG | 0.396 | 0.000 | 0.625 | Hitting_SLG | 0.428 | 2.000 | -0.428 | -2.000 |
| predicted_SO | 1.333 | 2.000 | 3.000 | Hitting_SO | 1.327 | 1.000 | 0.673 | 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: 1.3330 -> 2.0000 (boost 0.6670, worse) |
| Biggest Deboost | predicted_H: 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.8100 -> 8.3054 (boost 4.4954, 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.4401 -> 0.4715 (boost 0.0314, 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 | 2 | 4 | predicted_HR: 0.5692 -> 1.0000 (boost 0.4308, better) | predicted_HBP: 0.8300 -> 0.0000 (deboost -0.8300, worse) | AB rounded to 8 (raw=8.31), rates preserved: AVG=0.239 HR/AB=0.069 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1896 -> 1.0000 (deboost -0.1896, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4715 -> 0.6250 (boost 0.1535, better) | - | 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 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.6250 -> 0.4715 (deboost -0.1535, 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.81,
"predicted_AVG": 0.221,
"predicted_BB": 0.452,
"predicted_H": 0.84,
"predicted_HR": 0.17,
"predicted_OBP": 0.292,
"predicted_R": 0.516,
"predicted_RBI": 0.46,
"predicted_SLG": 0.396,
"predicted_SO": 1.333
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.2247,
"predicted_3B": 0.0009,
"predicted_AB": 8.3054,
"predicted_AVG": 0.2302,
"predicted_BB": 0.8682,
"predicted_H": 1.963,
"predicted_HBP": 0.83,
"predicted_HR": 0.5646,
"predicted_OBP": 0.3133,
"predicted_R": 1.1703,
"predicted_RBI": 1.3744,
"predicted_SLG": 0.4401,
"predicted_SO": 3.038
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.114,
"after": 0.2247,
"delta": 0.1107,
"percent_delta": 0.9711,
"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.81,
"after": 8.3054,
"delta": 4.4954,
"percent_delta": 1.1799,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2302,
"delta": 0.0092,
"percent_delta": 0.0416,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.8682,
"delta": 0.4162,
"percent_delta": 0.9208,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 1.963,
"delta": 1.123,
"percent_delta": 1.3369,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.5646,
"delta": 0.3946,
"percent_delta": 2.3212,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.3133,
"delta": 0.0213,
"percent_delta": 0.0729,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.516,
"after": 1.1703,
"delta": 0.6543,
"percent_delta": 1.268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.3744,
"delta": 0.9144,
"percent_delta": 1.9878,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.396,
"after": 0.4401,
"delta": 0.0441,
"percent_delta": 0.1114,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.333,
"after": 3.038,
"delta": 1.705,
"percent_delta": 1.2791,
"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.81,
"after": 8.3054,
"delta": 4.4954,
"percent_delta": 1.1799,
"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": 3,
"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.2247,
"predicted_3B": 0.0009,
"predicted_AB": 8.3054,
"predicted_AVG": 0.2386,
"predicted_BB": 0.8694,
"predicted_H": 1.9815,
"predicted_HBP": 0.83,
"predicted_HR": 0.5692,
"predicted_OBP": 0.3107,
"predicted_R": 1.1896,
"predicted_RBI": 1.3971,
"predicted_SLG": 0.4715,
"predicted_SO": 3.0337
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2247,
"after": 0.2247,
"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.3054,
"after": 8.3054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2302,
"after": 0.2386,
"delta": 0.0084,
"percent_delta": 0.0365,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8682,
"after": 0.8694,
"delta": 0.0012,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.963,
"after": 1.9815,
"delta": 0.0185,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.83,
"after": 0.83,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.5646,
"after": 0.5692,
"delta": 0.0046,
"percent_delta": 0.0081,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3133,
"after": 0.3107,
"delta": -0.0026,
"percent_delta": -0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.1703,
"after": 1.1896,
"delta": 0.0193,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3744,
"after": 1.3971,
"delta": 0.0227,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4401,
"after": 0.4715,
"delta": 0.0314,
"percent_delta": 0.0713,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.038,
"after": 3.0337,
"delta": -0.0043,
"percent_delta": -0.0014,
"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.4401,
"after": 0.4715,
"delta": 0.0314,
"percent_delta": 0.0713,
"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.31), rates preserved: AVG=0.239 HR/AB=0.069",
"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.2247,
"after": 0.0,
"delta": -0.2247,
"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.3054,
"after": 8.0,
"delta": -0.3054,
"percent_delta": -0.0368,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8694,
"after": 1.0,
"delta": 0.1306,
"percent_delta": 0.1502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.9815,
"after": 2.0,
"delta": 0.0185,
"percent_delta": 0.0093,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.5692,
"after": 1.0,
"delta": 0.4308,
"percent_delta": 0.7569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3971,
"after": 1.0,
"delta": -0.3971,
"percent_delta": -0.2842,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0337,
"after": 3.0,
"delta": -0.0337,
"percent_delta": -0.0111,
"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_HR",
"before": 0.5692,
"after": 1.0,
"delta": 0.4308,
"percent_delta": 0.7569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.83,
"after": 0.0,
"delta": -0.83,
"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": 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.1896,
"after": 1.0,
"delta": -0.1896,
"percent_delta": -0.1594,
"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.1896,
"after": 1.0,
"delta": -0.1896,
"percent_delta": -0.1594,
"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": 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.2386,
"after": 0.25,
"delta": 0.0114,
"percent_delta": 0.0478,
"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.3107,
"after": 0.333,
"delta": 0.0223,
"percent_delta": 0.0718,
"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.4715,
"after": 0.625,
"delta": 0.1535,
"percent_delta": 0.3256,
"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.4715,
"after": 0.625,
"delta": 0.1535,
"percent_delta": 0.3256,
"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": 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": 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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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.2386,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3107,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4715,
"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.25,
"after": 0.2386,
"delta": -0.0114,
"percent_delta": -0.0457,
"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.3107,
"delta": -0.0223,
"percent_delta": -0.0669,
"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.625,
"after": 0.4715,
"delta": -0.1535,
"percent_delta": -0.2457,
"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.625,
"after": 0.4715,
"delta": -0.1535,
"percent_delta": -0.2457,
"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.81,
"after": 4.0,
"delta": 0.19,
"percent_delta": 0.0499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.221,
"after": 0.2386,
"delta": 0.0176,
"percent_delta": 0.0796,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.452,
"after": 0.0,
"delta": -0.452,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.84,
"after": 0.0,
"delta": -0.84,
"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.292,
"after": 0.3107,
"delta": 0.0187,
"percent_delta": 0.064,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.516,
"after": 0.0,
"delta": -0.516,
"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.396,
"after": 0.4715,
"delta": 0.0755,
"percent_delta": 0.1907,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.333,
"after": 2.0,
"delta": 0.667,
"percent_delta": 0.5004,
"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.333,
"after": 2.0,
"delta": 0.667,
"percent_delta": 0.5004,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"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.114 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.810 | - |
| predicted_AVG | 0.221 | - |
| predicted_BB | 0.452 | - |
| predicted_H | 0.840 | - |
| predicted_HR | 0.170 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.516 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.396 | - |
| predicted_SO | 1.333 | - |
Final model 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.111 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.305 | 4.495 |
| predicted_AVG | 0.230 | 0.009 |
| predicted_BB | 0.868 | 0.416 |
| predicted_H | 1.963 | 1.123 |
| predicted_HBP | 0.830 | - |
| predicted_HR | 0.565 | 0.395 |
| predicted_OBP | 0.313 | 0.021 |
| predicted_R | 1.170 | 0.654 |
| predicted_RBI | 1.374 | 0.914 |
| predicted_SLG | 0.440 | 0.044 |
| predicted_SO | 3.038 | 1.705 |
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 | 8.305 | 0.000 |
| predicted_AVG | 0.239 | 0.008 |
| predicted_BB | 0.869 | 0.001 |
| predicted_H | 1.982 | 0.018 |
| predicted_HBP | 0.830 | 0.000 |
| predicted_HR | 0.569 | 0.005 |
| predicted_OBP | 0.311 | -0.003 |
| predicted_R | 1.190 | 0.019 |
| predicted_RBI | 1.397 | 0.023 |
| predicted_SLG | 0.471 | 0.031 |
| predicted_SO | 3.034 | -0.004 |
AB rounded to 8 (raw=8.31), rates preserved: AVG=0.239 HR/AB=0.069
| 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 | - |
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.225 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 8.000 | -0.305 |
| predicted_AVG | 0.250 | 0.011 |
| predicted_BB | 1.000 | 0.131 |
| predicted_H | 2.000 | 0.018 |
| predicted_HR | 1.000 | 0.431 |
| predicted_OBP | 0.333 | 0.022 |
| predicted_R | 1.000 | -0.190 |
| predicted_RBI | 1.000 | -0.397 |
| predicted_SLG | 0.625 | 0.154 |
| predicted_SO | 3.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 | -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 | -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 | 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 | 2 | - | 14.000 | 5.000 | 0.000 | 0.000 | 3.000 | 5.000 | 3.000 | 0.000 | 7.000 | 0.3571 | 0.5263 | 1.0000 | 0.3571 | 0.2143 | 0.3571 | 0.0000 | 0.5000 |
| last_10 | 0.20 | 3 | - | 34.000 | 10.000 | 0.000 | 0.000 | 3.000 | 8.000 | 3.000 | 0.000 | 15.000 | 0.2941 | 0.4286 | 0.5588 | 0.2941 | 0.0882 | 0.2353 | 0.0000 | 0.4412 |
| season | 0.60 | 53 | - | 822.000 | 183.000 | 25.000 | 0.000 | 48.000 | 128.000 | 113.000 | 99.000 | 292.000 | 0.2226 | 0.3105 | 0.4282 | 0.2226 | 0.0584 | 0.1557 | 0.1204 | 0.3552 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3650 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.0060 |
| predicted_AVG | 0.2418 |
| predicted_BB | 1.3960 |
| predicted_H | 3.3870 |
| predicted_HBP | 0.8300 |
| predicted_HR | 1.0650 |
| predicted_OBP | 0.3402 |
| predicted_R | 2.0000 |
| predicted_RBI | 2.5340 |
| predicted_SLG | 0.4961 |
| predicted_SO | 5.2000 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1140 | 0.3650 | 0.2247 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.8100 | 14.0060 | 8.3054 | model_form_blend |
| predicted_AVG | 0.2210 | 0.2418 | 0.2302 | model_form_blend |
| predicted_BB | 0.4520 | 1.3960 | 0.8682 | model_form_blend |
| predicted_H | 0.8400 | 3.3870 | 1.9630 | model_form_blend |
| predicted_HBP | - | 0.8300 | 0.8300 | form_only |
| predicted_HR | 0.1700 | 1.0650 | 0.5646 | model_form_blend |
| predicted_OBP | 0.2920 | 0.3402 | 0.3133 | model_form_blend |
| predicted_R | 0.5160 | 2.0000 | 1.1703 | model_form_blend |
| predicted_RBI | 0.4600 | 2.5340 | 1.3744 | model_form_blend |
| predicted_SLG | 0.3960 | 0.4961 | 0.4401 | model_form_blend |
| predicted_SO | 1.3330 | 5.2000 | 3.0380 | 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 1 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| 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 | 3B |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 672960 |
| playerID | 672960 |
| playerName | Kazuma Okamoto |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 32.0 |
| sl_bb_percent | 10.0 |
| sl_woba | 0.311 |
| sl_xwoba | 0.324 |
| sl_xba | 0.22 |
| sl_xslg | 0.436 |
| sl_sweet_spot_percent | 32.5 |
| sl_barrel_batted_rate | 14.3 |
| sl_hard_hit_percent | 52.4 |
| sl_exit_velocity_avg | 92.8 |
| sl_launch_angle_avg | 18.0 |
| sl_whiff_percent | 33.0 |
| sl_swing_percent | 45.0 |
| at_bat_number | 49.0 |
| ab_pitcher | 677053.0 |
| ab_pitcher_name | Nardi, Andrew |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 6.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 1.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 1.0 |
| ab_fld_score_start | 1.0 |
| ab_event | home_run |
| ab_event_description | Kazuma Okamoto homers (11) on a fly ball to right center field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 3.0 |
| ab_launch_speed_last | 101.6 |
| ab_launch_angle_last | 30.0 |
| ab_hit_distance_last | 393.0 |
| ab_estimated_ba_last | 0.614 |
| ab_estimated_woba_last | 1.17 |
| ab_estimated_slg_last | 2.252 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.0 |
| ab_release_spin_rate_avg | 1784.5 |
| ab_effective_speed_avg | 89.85 |
| ab_launch_speed_avg | 101.6 |
| ab_launch_angle_avg | 30.0 |
| ab_delta_run_exp_avg | 0.7915 |
| ab_delta_home_win_exp_avg | 0.0885 |
| ab_delta_pitcher_run_exp_avg | -0.7915 |
| ab_bat_speed_avg | 72.8 |
| ab_swing_length_avg | 7.5 |
| ab_launch_speed_max | 101.6 |
| ab_hit_distance_sc_max | 393.0 |
| ab_release_speed_max | 91.6 |
| ab_release_spin_rate_max | 2273.0 |
| ab_release_speed_min | 86.4 |
| ab_release_spin_rate_min | 1296.0 |
| ab_delta_run_exp_sum | 1.583 |
| ab_delta_home_win_exp_sum | 0.177 |
| ab_delta_pitcher_run_exp_sum | -1.583 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.191 | 0.000 | 0.000 | Hitting_2B | 0.191 | 0.000 | -0.191 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.399 | 4.000 | 6.000 | Hitting_AB | 3.399 | 2.000 | 0.601 | 2.000 |
| predicted_AVG | 0.267 | 0.000 | 0.167 | Hitting_AVG | 0.276 | 0.000 | -0.276 | 0.000 |
| predicted_BB | 0.156 | 0.000 | 0.000 | Hitting_BB | 0.156 | 0.000 | -0.156 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.320 | 0.000 | 1.000 | Hitting_H | 0.936 | 0.000 | -0.936 | 0.000 |
| predicted_HR | 0.060 | 0.000 | 0.000 | Hitting_HR | 0.145 | 0.000 | -0.145 | 0.000 |
| predicted_OBP | 0.311 | 0.000 | 0.167 | Hitting_OBP | 0.318 | 0.000 | -0.318 | 0.000 |
| predicted_R | 0.410 | 0.000 | 1.000 | Hitting_R | 0.410 | 0.000 | -0.410 | 0.000 |
| predicted_RBI | 0.250 | 0.000 | 1.000 | Hitting_RBI | 0.601 | 0.000 | -0.601 | 0.000 |
| predicted_SLG | 0.481 | 0.000 | 0.167 | Hitting_SLG | 0.459 | 0.000 | -0.459 | 0.000 |
| predicted_SO | 0.786 | 3.000 | 2.000 | Hitting_SO | 0.786 | 2.000 | 2.214 | 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.7860 -> 3.0000 (boost 2.2140, worse) |
| Biggest Deboost | predicted_R: 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.3990 -> 6.4050 (boost 3.0060, 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.3249 -> 0.2653 (deboost -0.0596, 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: 1.7324 -> 2.0000 (boost 0.2676, worse) | predicted_HBP: 0.5280 -> 0.0000 (deboost -0.5280, worse) | AB rounded to 6 (raw=6.41), rates preserved: AVG=0.235 HR/AB=0.050 |
| 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.8268 -> 1.0000 (boost 0.1732, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.4544 -> 0.1670 (deboost -0.2874, 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: 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.4544 (boost 0.2874, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "660821",
"player_name": "Jesús Sánchez",
"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.191,
"predicted_3B": 0.0,
"predicted_AB": 3.399,
"predicted_AVG": 0.267,
"predicted_BB": 0.156,
"predicted_H": 0.32,
"predicted_HR": 0.06,
"predicted_OBP": 0.311,
"predicted_R": 0.41,
"predicted_RBI": 0.25,
"predicted_SLG": 0.481,
"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.4436,
"predicted_3B": 0.0009,
"predicted_AB": 6.405,
"predicted_AVG": 0.2776,
"predicted_BB": 0.2674,
"predicted_H": 1.4882,
"predicted_HBP": 0.528,
"predicted_HR": 0.3183,
"predicted_OBP": 0.3249,
"predicted_R": 0.8134,
"predicted_RBI": 1.3015,
"predicted_SLG": 0.5139,
"predicted_SO": 1.7348
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.191,
"after": 0.4436,
"delta": 0.2526,
"percent_delta": 1.3225,
"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.399,
"after": 6.405,
"delta": 3.006,
"percent_delta": 0.8844,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2776,
"delta": 0.0106,
"percent_delta": 0.0397,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.2674,
"delta": 0.1114,
"percent_delta": 0.7141,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 1.4882,
"delta": 1.1682,
"percent_delta": 3.6506,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.06,
"after": 0.3183,
"delta": 0.2583,
"percent_delta": 4.305,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.311,
"after": 0.3249,
"delta": 0.0139,
"percent_delta": 0.0447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.41,
"after": 0.8134,
"delta": 0.4034,
"percent_delta": 0.9839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.25,
"after": 1.3015,
"delta": 1.0515,
"percent_delta": 4.206,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.5139,
"delta": 0.0329,
"percent_delta": 0.0684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.786,
"after": 1.7348,
"delta": 0.9488,
"percent_delta": 1.2071,
"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.399,
"after": 6.405,
"delta": 3.006,
"percent_delta": 0.8844,
"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": 3,
"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.4436,
"predicted_3B": 0.0009,
"predicted_AB": 6.405,
"predicted_AVG": 0.2345,
"predicted_BB": 0.2678,
"predicted_H": 1.5022,
"predicted_HBP": 0.528,
"predicted_HR": 0.3209,
"predicted_OBP": 0.2653,
"predicted_R": 0.8268,
"predicted_RBI": 1.323,
"predicted_SLG": 0.4544,
"predicted_SO": 1.7324
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4436,
"after": 0.4436,
"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.405,
"after": 6.405,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2776,
"after": 0.2345,
"delta": -0.0431,
"percent_delta": -0.1553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2674,
"after": 0.2678,
"delta": 0.0004,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.4882,
"after": 1.5022,
"delta": 0.014,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.528,
"after": 0.528,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.3183,
"after": 0.3209,
"delta": 0.0026,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3249,
"after": 0.2653,
"delta": -0.0596,
"percent_delta": -0.1834,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.8134,
"after": 0.8268,
"delta": 0.0134,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3015,
"after": 1.323,
"delta": 0.0215,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.5139,
"after": 0.4544,
"delta": -0.0595,
"percent_delta": -0.1158,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7348,
"after": 1.7324,
"delta": -0.0024,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 0,
"deboosted_metrics": 3,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3249,
"after": 0.2653,
"delta": -0.0596,
"percent_delta": -0.1834,
"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.235 HR/AB=0.050",
"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.4436,
"after": 0.0,
"delta": -0.4436,
"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.405,
"after": 6.0,
"delta": -0.405,
"percent_delta": -0.0632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2678,
"after": 0.0,
"delta": -0.2678,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5022,
"after": 1.0,
"delta": -0.5022,
"percent_delta": -0.3343,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.528,
"after": 0.0,
"delta": -0.528,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3209,
"after": 0.0,
"delta": -0.3209,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.323,
"after": 1.0,
"delta": -0.323,
"percent_delta": -0.2441,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7324,
"after": 2.0,
"delta": 0.2676,
"percent_delta": 0.1545,
"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.7324,
"after": 2.0,
"delta": 0.2676,
"percent_delta": 0.1545,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.528,
"after": 0.0,
"delta": -0.528,
"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=6.0, weight=0.067, BvP AVG=0.167)",
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 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": 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.8268,
"after": 1.0,
"delta": 0.1732,
"percent_delta": 0.2095,
"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.8268,
"after": 1.0,
"delta": 0.1732,
"percent_delta": 0.2095,
"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.2345,
"after": 0.167,
"delta": -0.0675,
"percent_delta": -0.2878,
"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.2653,
"after": 0.167,
"delta": -0.0983,
"percent_delta": -0.3705,
"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.4544,
"after": 0.167,
"delta": -0.2874,
"percent_delta": -0.6325,
"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.4544,
"after": 0.167,
"delta": -0.2874,
"percent_delta": -0.6325,
"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": 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": 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": 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.2345,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2653,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4544,
"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.167,
"after": 0.2345,
"delta": 0.0675,
"percent_delta": 0.4044,
"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.2653,
"delta": 0.0983,
"percent_delta": 0.5883,
"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.4544,
"delta": 0.2874,
"percent_delta": 1.7209,
"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.4544,
"delta": 0.2874,
"percent_delta": 1.7209,
"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.191,
"after": 0.0,
"delta": -0.191,
"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.399,
"after": 4.0,
"delta": 0.601,
"percent_delta": 0.1768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.267,
"after": 0.2345,
"delta": -0.0325,
"percent_delta": -0.1217,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.156,
"after": 0.0,
"delta": -0.156,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.32,
"after": 0.0,
"delta": -0.32,
"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.311,
"after": 0.2653,
"delta": -0.0457,
"percent_delta": -0.1469,
"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.25,
"after": 0.0,
"delta": -0.25,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.481,
"after": 0.4544,
"delta": -0.0266,
"percent_delta": -0.0553,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.786,
"after": 3.0,
"delta": 2.214,
"percent_delta": 2.8168,
"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": 3.0,
"delta": 2.214,
"percent_delta": 2.8168,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_R",
"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": "worse"
}
}
}Raw model output with missing event categories filled from season-profile fallback
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.191 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.399 | - |
| predicted_AVG | 0.267 | - |
| predicted_BB | 0.156 | - |
| predicted_H | 0.320 | - |
| predicted_HR | 0.060 | - |
| predicted_OBP | 0.311 | - |
| predicted_R | 0.410 | - |
| predicted_RBI | 0.250 | - |
| predicted_SLG | 0.481 | - |
| 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.444 | 0.253 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 6.405 | 3.006 |
| predicted_AVG | 0.278 | 0.011 |
| predicted_BB | 0.267 | 0.111 |
| predicted_H | 1.488 | 1.168 |
| predicted_HBP | 0.528 | - |
| predicted_HR | 0.318 | 0.258 |
| predicted_OBP | 0.325 | 0.014 |
| predicted_R | 0.813 | 0.403 |
| predicted_RBI | 1.302 | 1.052 |
| predicted_SLG | 0.514 | 0.033 |
| predicted_SO | 1.735 | 0.949 |
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.444 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 6.405 | 0.000 |
| predicted_AVG | 0.234 | -0.043 |
| predicted_BB | 0.268 | 0.000 |
| predicted_H | 1.502 | 0.014 |
| predicted_HBP | 0.528 | 0.000 |
| predicted_HR | 0.321 | 0.003 |
| predicted_OBP | 0.265 | -0.060 |
| predicted_R | 0.827 | 0.013 |
| predicted_RBI | 1.323 | 0.021 |
| predicted_SLG | 0.454 | -0.059 |
| predicted_SO | 1.732 | -0.002 |
AB rounded to 6 (raw=6.41), rates preserved: AVG=0.235 HR/AB=0.050
| 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 | - |
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 | 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 | 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.444 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | -0.405 |
| predicted_AVG | 0.167 | -0.067 |
| predicted_BB | 0.000 | -0.268 |
| predicted_H | 1.000 | -0.502 |
| predicted_HR | 0.000 | -0.321 |
| predicted_OBP | 0.167 | -0.098 |
| predicted_R | 1.000 | 0.173 |
| predicted_RBI | 1.000 | -0.323 |
| predicted_SLG | 0.167 | -0.287 |
| predicted_SO | 2.000 | 0.268 |
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 | 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 | 2 | - | 16.000 | 6.000 | 3.000 | 0.000 | 3.000 | 12.000 | 3.000 | 0.000 | 10.000 | 0.3750 | 0.4737 | 1.1250 | 0.3750 | 0.1875 | 0.7500 | 0.0000 | 0.6250 |
| last_10 | 0.20 | 3 | - | 33.000 | 13.000 | 5.000 | 0.000 | 5.000 | 20.000 | 5.000 | 0.000 | 17.000 | 0.3939 | 0.4737 | 1.0000 | 0.3939 | 0.1515 | 0.6061 | 0.0000 | 0.5151 |
| season | 0.60 | 54 | - | 588.000 | 162.000 | 33.000 | 0.000 | 25.000 | 104.000 | 71.000 | 27.000 | 136.000 | 0.2755 | 0.3184 | 0.4592 | 0.2755 | 0.0425 | 0.1769 | 0.0459 | 0.2313 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7690 |
| predicted_3B | 0.0020 |
| predicted_AB | 10.2770 |
| predicted_AVG | 0.2912 |
| predicted_BB | 0.4110 |
| predicted_H | 2.9930 |
| predicted_HBP | 0.5280 |
| predicted_HR | 0.6510 |
| predicted_OBP | 0.3429 |
| predicted_R | 1.3330 |
| predicted_RBI | 2.6560 |
| predicted_SLG | 0.5563 |
| predicted_SO | 2.9570 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1910 | 0.7690 | 0.4436 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3990 | 10.2770 | 6.4050 | model_form_blend |
| predicted_AVG | 0.2670 | 0.2912 | 0.2776 | model_form_blend |
| predicted_BB | 0.1560 | 0.4110 | 0.2674 | model_form_blend |
| predicted_H | 0.3200 | 2.9930 | 1.4882 | model_form_blend |
| predicted_HBP | - | 0.5280 | 0.5280 | form_only |
| predicted_HR | 0.0600 | 0.6510 | 0.3183 | model_form_blend |
| predicted_OBP | 0.3110 | 0.3429 | 0.3249 | model_form_blend |
| predicted_R | 0.4100 | 1.3330 | 0.8134 | model_form_blend |
| predicted_RBI | 0.2500 | 2.6560 | 1.3015 | model_form_blend |
| predicted_SLG | 0.4810 | 0.5563 | 0.5139 | model_form_blend |
| predicted_SO | 0.7860 | 2.9570 | 1.7348 | 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 | 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 | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 3 |
| 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 | 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 | 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 | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 660821 |
| playerID | 660821 |
| playerName | Jesús Sánchez |
| pos | RF |
| started | True |
| startingPosition | DH |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 4.0 |
| sl_woba | 0.34 |
| sl_xwoba | 0.349 |
| sl_xba | 0.294 |
| sl_xslg | 0.479 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 46.5 |
| sl_exit_velocity_avg | 91.2 |
| sl_launch_angle_avg | 11.0 |
| sl_whiff_percent | 25.1 |
| sl_swing_percent | 55.4 |
| at_bat_number | 31.0 |
| ab_pitcher | 691587.0 |
| ab_pitcher_name | Pérez, Eury |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 4.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 665489.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 0.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 0.0 |
| ab_fld_score_start | 1.0 |
| ab_event | strikeout |
| ab_event_description | Jesús Sánchez strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 12.0 |
| ab_launch_speed_last | 59.1 |
| ab_launch_angle_last | 27.0 |
| ab_hit_distance_last | 149.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 | 0.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 0.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 7.0 |
| ab_release_speed_avg | 90.67142857142858 |
| ab_release_spin_rate_avg | 2390.5714285714284 |
| ab_effective_speed_avg | 90.81428571428572 |
| ab_launch_speed_avg | 73.93333333333332 |
| ab_launch_angle_avg | 34.333333333333336 |
| ab_delta_run_exp_avg | -0.036 |
| ab_delta_home_win_exp_avg | -0.0057142857142857 |
| ab_delta_pitcher_run_exp_avg | 0.036 |
| ab_bat_speed_avg | 62.46666666666667 |
| ab_swing_length_avg | 6.8500000000000005 |
| ab_launch_speed_max | 85.6 |
| ab_hit_distance_sc_max | 271.0 |
| ab_release_speed_max | 99.2 |
| ab_release_spin_rate_max | 2818.0 |
| ab_release_speed_min | 77.5 |
| ab_release_spin_rate_min | 1776.0 |
| ab_delta_run_exp_sum | -0.252 |
| ab_delta_home_win_exp_sum | -0.04 |
| ab_delta_pitcher_run_exp_sum | 0.252 |
| 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.327 | 0.000 | 1.000 | Hitting_2B | 0.327 | 0.000 | -0.327 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.005 | 4.000 | 9.000 | Hitting_AB | 4.005 | 3.000 | -0.005 | 1.000 |
| predicted_AVG | 0.255 | 0.250 | 0.222 | Hitting_AVG | 0.303 | 0.000 | -0.053 | 0.250 |
| predicted_BB | 0.143 | 0.000 | 0.000 | Hitting_BB | 0.143 | 0.000 | -0.143 | 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 | 1.212 | 0.000 | -0.212 | 1.000 |
| predicted_HR | 0.140 | 0.000 | 0.000 | Hitting_HR | 0.101 | 0.000 | -0.101 | 0.000 |
| predicted_OBP | 0.317 | 0.250 | 0.222 | Hitting_OBP | 0.325 | 0.000 | -0.075 | 0.250 |
| predicted_R | 0.429 | 1.000 | 1.000 | Hitting_R | 0.429 | 0.000 | 0.571 | 1.000 |
| predicted_RBI | 0.500 | 1.000 | 1.000 | Hitting_RBI | 0.406 | 0.000 | 0.594 | 1.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.037 | 0.000 | -0.037 | 0.000 |
| predicted_SLG | 0.454 | 0.250 | 0.333 | Hitting_SLG | 0.460 | 0.000 | -0.210 | 0.250 |
| predicted_SO | 0.323 | 0.000 | 1.000 | Hitting_SO | 0.323 | 0.000 | -0.323 | 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_R: 0.4290 -> 1.0000 (boost 0.5710, better) |
| Biggest Deboost | predicted_2B: 0.3270 -> 0.0000 (deboost -0.3270, 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.0050 -> 8.6054 (boost 4.6004, better) | predicted_OBP: 0.3170 -> 0.3093 (deboost -0.0077, worse) | Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season. |
| 3 | team_form_snapshot | 2 | 1 | 1 | 1 | 1 | predicted_AVG: 0.2657 -> 0.2722 (boost 0.0065, better) | predicted_OBP: 0.3093 -> 0.2951 (deboost -0.0142, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 2 | 4 | predicted_AB: 8.6054 -> 9.0000 (boost 0.3946, better) | predicted_HR: 0.3633 -> 0.0000 (deboost -0.3633, worse) | AB rounded to 9 (raw=8.61), rates preserved: AVG=0.272 HR/AB=0.042 |
| 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.4702 -> 0.3330 (deboost -0.1372, 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: 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.3330 -> 0.4702 (boost 0.1372, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "676391",
"player_name": "Ernie Clement",
"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.327,
"predicted_3B": 0.0,
"predicted_AB": 4.005,
"predicted_AVG": 0.255,
"predicted_BB": 0.143,
"predicted_H": 0.97,
"predicted_HR": 0.14,
"predicted_OBP": 0.317,
"predicted_R": 0.429,
"predicted_RBI": 0.5,
"predicted_SLG": 0.454,
"predicted_SO": 0.323
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.6125,
"predicted_3B": 0.0009,
"predicted_AB": 8.6054,
"predicted_AVG": 0.2657,
"predicted_BB": 0.2791,
"predicted_H": 2.3205,
"predicted_HBP": 0.004,
"predicted_HR": 0.3603,
"predicted_OBP": 0.3093,
"predicted_R": 0.9608,
"predicted_RBI": 0.9715,
"predicted_SLG": 0.4655,
"predicted_SO": 0.6394
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.327,
"after": 0.6125,
"delta": 0.2855,
"percent_delta": 0.8731,
"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.005,
"after": 8.6054,
"delta": 4.6004,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2657,
"delta": 0.0107,
"percent_delta": 0.042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.2791,
"delta": 0.1361,
"percent_delta": 0.9517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.97,
"after": 2.3205,
"delta": 1.3505,
"percent_delta": 1.3923,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.14,
"after": 0.3603,
"delta": 0.2203,
"percent_delta": 1.5736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3093,
"delta": -0.0077,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 0.9608,
"delta": 0.5318,
"percent_delta": 1.2396,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5,
"after": 0.9715,
"delta": 0.4715,
"percent_delta": 0.943,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.454,
"after": 0.4655,
"delta": 0.0115,
"percent_delta": 0.0253,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.323,
"after": 0.6394,
"delta": 0.3164,
"percent_delta": 0.9796,
"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.005,
"after": 8.6054,
"delta": 4.6004,
"percent_delta": 1.1487,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3093,
"delta": -0.0077,
"percent_delta": -0.0243,
"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": 3,
"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.6125,
"predicted_3B": 0.0009,
"predicted_AB": 8.6054,
"predicted_AVG": 0.2722,
"predicted_BB": 0.2795,
"predicted_H": 2.3423,
"predicted_HBP": 0.004,
"predicted_HR": 0.3633,
"predicted_OBP": 0.2951,
"predicted_R": 0.9767,
"predicted_RBI": 0.9875,
"predicted_SLG": 0.4702,
"predicted_SO": 0.6385
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6125,
"after": 0.6125,
"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.6054,
"after": 8.6054,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2657,
"after": 0.2722,
"delta": 0.0065,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2791,
"after": 0.2795,
"delta": 0.0004,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.3205,
"after": 2.3423,
"delta": 0.0218,
"percent_delta": 0.0094,
"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.3603,
"after": 0.3633,
"delta": 0.003,
"percent_delta": 0.0083,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3093,
"after": 0.2951,
"delta": -0.0142,
"percent_delta": -0.0459,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9608,
"after": 0.9767,
"delta": 0.0159,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9715,
"after": 0.9875,
"delta": 0.016,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4655,
"after": 0.4702,
"delta": 0.0047,
"percent_delta": 0.0101,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6394,
"after": 0.6385,
"delta": -0.0009,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 1,
"deboosted_metrics": 1,
"better_metrics": 1,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_AVG",
"before": 0.2657,
"after": 0.2722,
"delta": 0.0065,
"percent_delta": 0.0245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.3093,
"after": 0.2951,
"delta": -0.0142,
"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 9 (raw=8.61), rates preserved: AVG=0.272 HR/AB=0.042",
"stats": {
"predicted_2B": 1.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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6125,
"after": 1.0,
"delta": 0.3875,
"percent_delta": 0.6327,
"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": 8.6054,
"after": 9.0,
"delta": 0.3946,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.2795,
"after": 0.0,
"delta": -0.2795,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.3423,
"after": 2.0,
"delta": -0.3423,
"percent_delta": -0.1461,
"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.3633,
"after": 0.0,
"delta": -0.3633,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9875,
"after": 1.0,
"delta": 0.0125,
"percent_delta": 0.0127,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.6385,
"after": 1.0,
"delta": 0.3615,
"percent_delta": 0.5662,
"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.6054,
"after": 9.0,
"delta": 0.3946,
"percent_delta": 0.0459,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.3633,
"after": 0.0,
"delta": -0.3633,
"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": 9.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": 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": 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.9767,
"after": 1.0,
"delta": 0.0233,
"percent_delta": 0.0239,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.222,
"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": 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.2722,
"after": 0.222,
"delta": -0.0502,
"percent_delta": -0.1844,
"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.2951,
"after": 0.222,
"delta": -0.0731,
"percent_delta": -0.2477,
"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.4702,
"after": 0.333,
"delta": -0.1372,
"percent_delta": -0.2918,
"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.4702,
"after": 0.333,
"delta": -0.1372,
"percent_delta": -0.2918,
"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": 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": 4.0,
"delta": -5.0,
"percent_delta": -0.5556,
"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": 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": 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.2722,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2951,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4702,
"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.222,
"after": 0.2722,
"delta": 0.0502,
"percent_delta": 0.2261,
"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.222,
"after": 0.2951,
"delta": 0.0731,
"percent_delta": 0.3292,
"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.333,
"after": 0.4702,
"delta": 0.1372,
"percent_delta": 0.4121,
"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.333,
"after": 0.4702,
"delta": 0.1372,
"percent_delta": 0.4121,
"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.327,
"after": 0.0,
"delta": -0.327,
"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.005,
"after": 4.0,
"delta": -0.005,
"percent_delta": -0.0012,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.255,
"after": 0.2722,
"delta": 0.0172,
"percent_delta": 0.0675,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.143,
"after": 0.0,
"delta": -0.143,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.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.317,
"after": 0.2951,
"delta": -0.0219,
"percent_delta": -0.0691,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"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.454,
"after": 0.4702,
"delta": 0.0162,
"percent_delta": 0.0357,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.323,
"after": 0.0,
"delta": -0.323,
"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_R",
"before": 0.429,
"after": 1.0,
"delta": 0.571,
"percent_delta": 1.331,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.327,
"after": 0.0,
"delta": -0.327,
"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.327 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.005 | - |
| predicted_AVG | 0.255 | - |
| predicted_BB | 0.143 | - |
| predicted_H | 0.970 | - |
| predicted_HR | 0.140 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.429 | - |
| predicted_RBI | 0.500 | - |
| predicted_SLG | 0.454 | - |
| predicted_SO | 0.323 | - |
Final model 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.613 | 0.286 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 8.605 | 4.600 |
| predicted_AVG | 0.266 | 0.011 |
| predicted_BB | 0.279 | 0.136 |
| predicted_H | 2.321 | 1.351 |
| predicted_HBP | 0.004 | - |
| predicted_HR | 0.360 | 0.220 |
| predicted_OBP | 0.309 | -0.008 |
| predicted_R | 0.961 | 0.532 |
| predicted_RBI | 0.972 | 0.472 |
| predicted_SLG | 0.466 | 0.012 |
| predicted_SO | 0.639 | 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.613 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 8.605 | 0.000 |
| predicted_AVG | 0.272 | 0.007 |
| predicted_BB | 0.280 | 0.000 |
| predicted_H | 2.342 | 0.022 |
| predicted_HBP | 0.004 | 0.000 |
| predicted_HR | 0.363 | 0.003 |
| predicted_OBP | 0.295 | -0.014 |
| predicted_R | 0.977 | 0.016 |
| predicted_RBI | 0.988 | 0.016 |
| predicted_SLG | 0.470 | 0.005 |
| predicted_SO | 0.638 | -0.001 |
AB rounded to 9 (raw=8.61), rates preserved: AVG=0.272 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.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 | 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 | 9.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.387 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | 0.395 |
| predicted_AVG | 0.222 | -0.050 |
| predicted_BB | 0.000 | -0.280 |
| predicted_H | 2.000 | -0.342 |
| predicted_HR | 0.000 | -0.363 |
| predicted_OBP | 0.222 | -0.073 |
| predicted_R | 1.000 | 0.023 |
| predicted_RBI | 1.000 | 0.012 |
| predicted_SLG | 0.333 | -0.137 |
| predicted_SO | 1.000 | 0.362 |
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 | -5.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 | 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 | 2 | - | 17.000 | 2.000 | 0.000 | 0.000 | 2.000 | 2.000 | 2.000 | 0.000 | 0.000 | 0.1176 | 0.1176 | 0.4706 | 0.1177 | 0.1177 | 0.1177 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 37.000 | 10.000 | 0.000 | 0.000 | 7.000 | 7.000 | 7.000 | 0.000 | 0.000 | 0.2703 | 0.2703 | 0.8378 | 0.2703 | 0.1892 | 0.1892 | 0.0000 | 0.0000 |
| season | 0.60 | 55 | - | 869.000 | 263.000 | 71.000 | 0.000 | 22.000 | 88.000 | 93.000 | 31.000 | 70.000 | 0.3026 | 0.3252 | 0.4603 | 0.3026 | 0.0253 | 0.1013 | 0.0357 | 0.0805 |
| Metric | Value |
|---|---|
| predicted_2B | 0.9750 |
| predicted_3B | 0.0020 |
| predicted_AB | 14.4460 |
| predicted_AVG | 0.2793 |
| predicted_BB | 0.4520 |
| predicted_H | 4.0350 |
| predicted_HBP | 0.0040 |
| predicted_HR | 0.6400 |
| predicted_OBP | 0.2995 |
| predicted_R | 1.6360 |
| predicted_RBI | 1.5700 |
| predicted_SLG | 0.4800 |
| predicted_SO | 1.0410 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3270 | 0.9750 | 0.6125 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0050 | 14.4460 | 8.6054 | model_form_blend |
| predicted_AVG | 0.2550 | 0.2793 | 0.2657 | model_form_blend |
| predicted_BB | 0.1430 | 0.4520 | 0.2791 | model_form_blend |
| predicted_H | 0.9700 | 4.0350 | 2.3205 | model_form_blend |
| predicted_HBP | - | 0.0040 | 0.0040 | form_only |
| predicted_HR | 0.1400 | 0.6400 | 0.3603 | model_form_blend |
| predicted_OBP | 0.3170 | 0.2995 | 0.3093 | model_form_blend |
| predicted_R | 0.4290 | 1.6360 | 0.9608 | model_form_blend |
| predicted_RBI | 0.5000 | 1.5700 | 0.9715 | model_form_blend |
| predicted_SLG | 0.4540 | 0.4800 | 0.4655 | model_form_blend |
| predicted_SO | 0.3230 | 1.0410 | 0.6394 | 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 | 217 |
| Season rows before report date | 217 |
| 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 | 4 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| 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 | 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 | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 676391 |
| playerID | 676391 |
| playerName | Ernie Clement |
| pos | 2B |
| started | True |
| startingPosition | 2B |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 8.3 |
| sl_bb_percent | 3.7 |
| sl_woba | 0.34 |
| sl_xwoba | 0.281 |
| sl_xba | 0.261 |
| sl_xslg | 0.356 |
| sl_sweet_spot_percent | 30.9 |
| sl_barrel_batted_rate | 2.6 |
| sl_hard_hit_percent | 25.7 |
| sl_exit_velocity_avg | 85.9 |
| sl_launch_angle_avg | 15.8 |
| sl_whiff_percent | 13.7 |
| sl_swing_percent | 56.4 |
| at_bat_number | 51.0 |
| ab_pitcher | 677053.0 |
| ab_pitcher_name | Nardi, Andrew |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 6.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 2.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Ernie Clement flies out sharply to center fielder Jakob Marsee. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 100.0 |
| ab_launch_angle_last | 30.0 |
| ab_hit_distance_last | 386.0 |
| ab_estimated_ba_last | 0.509 |
| ab_estimated_woba_last | 0.942 |
| ab_estimated_slg_last | 1.803 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 87.4 |
| ab_release_spin_rate_avg | 2366.0 |
| ab_effective_speed_avg | 88.0 |
| ab_launch_speed_avg | 100.0 |
| ab_launch_angle_avg | 30.0 |
| ab_delta_run_exp_avg | -0.244 |
| ab_delta_home_win_exp_avg | -0.011 |
| ab_delta_pitcher_run_exp_avg | 0.244 |
| ab_bat_speed_avg | 73.5 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 100.0 |
| ab_hit_distance_sc_max | 386.0 |
| ab_release_speed_max | 87.4 |
| ab_release_spin_rate_max | 2366.0 |
| ab_release_speed_min | 87.4 |
| ab_release_spin_rate_min | 2366.0 |
| ab_delta_run_exp_sum | -0.244 |
| ab_delta_home_win_exp_sum | -0.011 |
| ab_delta_pitcher_run_exp_sum | 0.244 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.137 | 1.000 | 0.000 | Hitting_2B | 0.137 | 0.000 | 0.863 | 1.000 |
| predicted_3B | 0.021 | 0.000 | 0.000 | Hitting_3B | 0.021 | 0.000 | -0.021 | 0.000 |
| predicted_AB | 3.584 | 3.000 | 7.000 | Hitting_AB | 3.584 | 3.000 | -0.584 | 0.000 |
| predicted_AVG | 0.223 | 0.333 | 0.143 | Hitting_AVG | 0.229 | 0.333 | 0.104 | 0.000 |
| predicted_BB | 0.105 | 1.000 | 0.000 | Hitting_BB | 0.105 | 0.000 | 0.895 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.016 | 1.000 | -0.016 | -1.000 |
| predicted_H | 0.710 | 1.000 | 1.000 | Hitting_H | 0.821 | 1.000 | 0.179 | 0.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.105 | 0.000 | -0.105 | 0.000 |
| predicted_OBP | 0.266 | 0.500 | 0.143 | Hitting_OBP | 0.262 | 0.333 | 0.238 | 0.167 |
| predicted_R | 0.268 | 1.000 | 1.000 | Hitting_R | 0.268 | 0.000 | 0.732 | 1.000 |
| predicted_RBI | 0.360 | 0.000 | 1.000 | Hitting_RBI | 0.558 | 0.000 | -0.558 | 0.000 |
| predicted_SLG | 0.317 | 0.667 | 0.143 | Hitting_SLG | 0.367 | 0.333 | 0.300 | 0.333 |
| predicted_SO | 0.637 | 1.000 | 1.000 | Hitting_SO | 0.637 | 0.000 | 0.363 | 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_BB: 0.1050 -> 1.0000 (boost 0.8950, better) |
| Biggest Deboost | predicted_AB: 3.5840 -> 3.0000 (deboost -0.5840, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 10 | 9 | 1 | 8 | 2 | predicted_AB: 3.5840 -> 7.2739 (boost 3.6899, better) | predicted_OBP: 0.2660 -> 0.2569 (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 | 2 | 0 | 2 | 0 | 2 | - | predicted_OBP: 0.2569 -> 0.2343 (deboost -0.0226, 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.8994 -> 1.0000 (boost 0.1006, better) | predicted_H: 1.5516 -> 1.0000 (deboost -0.5516, worse) | AB rounded to 7 (raw=7.27), rates preserved: AVG=0.213 HR/AB=0.024 |
| 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.5006 -> 1.0000 (boost 0.4994, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.3283 -> 0.1430 (deboost -0.1853, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 4 | 2 | 2 | 2 | 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 | 3 | 0 | 3 | 0 | predicted_SLG: 0.1430 -> 0.3283 (boost 0.1853, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "665926",
"player_name": "Andrés Giménez",
"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.137,
"predicted_3B": 0.021,
"predicted_AB": 3.584,
"predicted_AVG": 0.223,
"predicted_BB": 0.105,
"predicted_H": 0.71,
"predicted_HR": 0.07,
"predicted_OBP": 0.266,
"predicted_R": 0.268,
"predicted_RBI": 0.36,
"predicted_SLG": 0.317,
"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.2479,
"predicted_3B": 0.0372,
"predicted_AB": 7.2739,
"predicted_AVG": 0.2201,
"predicted_BB": 0.1988,
"predicted_H": 1.5372,
"predicted_HBP": 0.202,
"predicted_HR": 0.17,
"predicted_OBP": 0.2569,
"predicted_R": 0.4925,
"predicted_RBI": 0.8848,
"predicted_SLG": 0.3241,
"predicted_SO": 1.1745
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.137,
"after": 0.2479,
"delta": 0.1109,
"percent_delta": 0.8095,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.021,
"after": 0.0372,
"delta": 0.0162,
"percent_delta": 0.7714,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.584,
"after": 7.2739,
"delta": 3.6899,
"percent_delta": 1.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2201,
"delta": -0.0029,
"percent_delta": -0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.105,
"after": 0.1988,
"delta": 0.0938,
"percent_delta": 0.8933,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.71,
"after": 1.5372,
"delta": 0.8272,
"percent_delta": 1.1651,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.17,
"delta": 0.1,
"percent_delta": 1.4286,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2569,
"delta": -0.0091,
"percent_delta": -0.0342,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.268,
"after": 0.4925,
"delta": 0.2245,
"percent_delta": 0.8377,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.36,
"after": 0.8848,
"delta": 0.5248,
"percent_delta": 1.4578,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3241,
"delta": 0.0071,
"percent_delta": 0.0224,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.637,
"after": 1.1745,
"delta": 0.5375,
"percent_delta": 0.8438,
"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": 3.584,
"after": 7.2739,
"delta": 3.6899,
"percent_delta": 1.0295,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.266,
"after": 0.2569,
"delta": -0.0091,
"percent_delta": -0.0342,
"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": 3,
"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.2479,
"predicted_3B": 0.0372,
"predicted_AB": 7.2739,
"predicted_AVG": 0.2133,
"predicted_BB": 0.1991,
"predicted_H": 1.5516,
"predicted_HBP": 0.202,
"predicted_HR": 0.1714,
"predicted_OBP": 0.2343,
"predicted_R": 0.5006,
"predicted_RBI": 0.8994,
"predicted_SLG": 0.3283,
"predicted_SO": 1.1729
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.2479,
"after": 0.2479,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0372,
"after": 0.0372,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2739,
"after": 7.2739,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2201,
"after": 0.2133,
"delta": -0.0068,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1988,
"after": 0.1991,
"delta": 0.0003,
"percent_delta": 0.0015,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.5372,
"after": 1.5516,
"delta": 0.0144,
"percent_delta": 0.0094,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.202,
"after": 0.202,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.17,
"after": 0.1714,
"delta": 0.0014,
"percent_delta": 0.0082,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2569,
"after": 0.2343,
"delta": -0.0226,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.4925,
"after": 0.5006,
"delta": 0.0081,
"percent_delta": 0.0164,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8848,
"after": 0.8994,
"delta": 0.0146,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3241,
"after": 0.3283,
"delta": 0.0042,
"percent_delta": 0.013,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.1745,
"after": 1.1729,
"delta": -0.0016,
"percent_delta": -0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 2,
"boosted_metrics": 0,
"deboosted_metrics": 2,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": null,
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.2569,
"after": 0.2343,
"delta": -0.0226,
"percent_delta": -0.088,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.27), rates preserved: AVG=0.213 HR/AB=0.024",
"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.2479,
"after": 0.0,
"delta": -0.2479,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0372,
"after": 0.0,
"delta": -0.0372,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.2739,
"after": 7.0,
"delta": -0.2739,
"percent_delta": -0.0377,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.1991,
"after": 0.0,
"delta": -0.1991,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.5516,
"after": 1.0,
"delta": -0.5516,
"percent_delta": -0.3555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.202,
"after": 0.0,
"delta": -0.202,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1714,
"after": 0.0,
"delta": -0.1714,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8994,
"after": 1.0,
"delta": 0.1006,
"percent_delta": 0.1119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.1729,
"after": 1.0,
"delta": -0.1729,
"percent_delta": -0.1474,
"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.8994,
"after": 1.0,
"delta": 0.1006,
"percent_delta": 0.1119,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.5516,
"after": 1.0,
"delta": -0.5516,
"percent_delta": -0.3555,
"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": 7.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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {
"model_expectation": 0.9429,
"bvp": 0.0571
},
"window_games": {}
},
{
"index": 6,
"step": "consistency_constraints",
"description": "Enforced H<=AB, HR<=H, safety nets, derived R",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 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.5006,
"after": 1.0,
"delta": 0.4994,
"percent_delta": 0.9976,
"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.5006,
"after": 1.0,
"delta": 0.4994,
"percent_delta": 0.9976,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.2133,
"after": 0.143,
"delta": -0.0703,
"percent_delta": -0.3296,
"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.2343,
"after": 0.143,
"delta": -0.0913,
"percent_delta": -0.3897,
"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.3283,
"after": 0.143,
"delta": -0.1853,
"percent_delta": -0.5644,
"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.3283,
"after": 0.143,
"delta": -0.1853,
"percent_delta": -0.5644,
"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": 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": 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": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"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": 2,
"deboosted_metrics": 2,
"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": 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.2133,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2343,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3283,
"predicted_SO": 1.0,
"predicted_SS": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.143,
"after": 0.2133,
"delta": 0.0703,
"percent_delta": 0.4917,
"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.143,
"after": 0.2343,
"delta": 0.0913,
"percent_delta": 0.6383,
"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.143,
"after": 0.3283,
"delta": 0.1853,
"percent_delta": 1.2959,
"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.3283,
"delta": 0.1853,
"percent_delta": 1.2959,
"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": 1.0,
"delta": 0.863,
"percent_delta": 6.2993,
"direction": "boost",
"projection_effect": "better",
"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.584,
"after": 3.0,
"delta": -0.584,
"percent_delta": -0.1629,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.223,
"after": 0.2133,
"delta": -0.0097,
"percent_delta": -0.0435,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.105,
"after": 1.0,
"delta": 0.895,
"percent_delta": 8.5238,
"direction": "boost",
"projection_effect": "better",
"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.266,
"after": 0.2343,
"delta": -0.0317,
"percent_delta": -0.1192,
"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": 0.0,
"delta": -0.36,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.317,
"after": 0.3283,
"delta": 0.0113,
"percent_delta": 0.0356,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 11,
"boosted_metrics": 6,
"deboosted_metrics": 5,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.105,
"after": 1.0,
"delta": 0.895,
"percent_delta": 8.5238,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AB",
"before": 3.584,
"after": 3.0,
"delta": -0.584,
"percent_delta": -0.1629,
"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.137 | - |
| predicted_3B | 0.021 | - |
| predicted_AB | 3.584 | - |
| predicted_AVG | 0.223 | - |
| predicted_BB | 0.105 | - |
| predicted_H | 0.710 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.266 | - |
| predicted_R | 0.268 | - |
| predicted_RBI | 0.360 | - |
| predicted_SLG | 0.317 | - |
| 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.248 | 0.111 |
| predicted_3B | 0.037 | 0.016 |
| predicted_AB | 7.274 | 3.690 |
| predicted_AVG | 0.220 | -0.003 |
| predicted_BB | 0.199 | 0.094 |
| predicted_H | 1.537 | 0.827 |
| predicted_HBP | 0.202 | - |
| predicted_HR | 0.170 | 0.100 |
| predicted_OBP | 0.257 | -0.009 |
| predicted_R | 0.492 | 0.224 |
| predicted_RBI | 0.885 | 0.525 |
| predicted_SLG | 0.324 | 0.007 |
| predicted_SO | 1.175 | 0.538 |
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.248 | 0.000 |
| predicted_3B | 0.037 | 0.000 |
| predicted_AB | 7.274 | 0.000 |
| predicted_AVG | 0.213 | -0.007 |
| predicted_BB | 0.199 | 0.000 |
| predicted_H | 1.552 | 0.014 |
| predicted_HBP | 0.202 | 0.000 |
| predicted_HR | 0.171 | 0.001 |
| predicted_OBP | 0.234 | -0.023 |
| predicted_R | 0.501 | 0.008 |
| predicted_RBI | 0.899 | 0.015 |
| predicted_SLG | 0.328 | 0.004 |
| predicted_SO | 1.173 | -0.002 |
AB rounded to 7 (raw=7.27), rates preserved: AVG=0.213 HR/AB=0.024
| 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 | - |
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 | 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 | 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 | 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.248 |
| predicted_3B | 0.000 | -0.037 |
| predicted_AB | 7.000 | -0.274 |
| predicted_AVG | 0.143 | -0.070 |
| predicted_BB | 0.000 | -0.199 |
| predicted_H | 1.000 | -0.552 |
| predicted_HR | 0.000 | -0.171 |
| predicted_OBP | 0.143 | -0.091 |
| predicted_R | 1.000 | 0.499 |
| predicted_RBI | 1.000 | 0.101 |
| predicted_SLG | 0.143 | -0.185 |
| predicted_SO | 1.000 | -0.173 |
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 | 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 | 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 | - | 17.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.1765 | 0.1765 | 0.1765 | 0.1765 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 37.000 | 3.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | 3.000 | 0.0811 | 0.0811 | 0.0811 | 0.0811 | 0.0000 | 0.0000 | 0.0000 | 0.0811 |
| season | 0.60 | 53 | - | 681.000 | 156.000 | 26.000 | 4.000 | 20.000 | 106.000 | 51.000 | 20.000 | 121.000 | 0.2291 | 0.2621 | 0.3671 | 0.2291 | 0.0294 | 0.1557 | 0.0294 | 0.1777 |
| Metric | Value |
|---|---|
| predicted_2B | 0.3900 |
| predicted_3B | 0.0580 |
| predicted_AB | 12.0010 |
| predicted_AVG | 0.2164 |
| predicted_BB | 0.3190 |
| predicted_H | 2.5970 |
| predicted_HBP | 0.2020 |
| predicted_HR | 0.2980 |
| predicted_OBP | 0.2453 |
| predicted_R | 0.7800 |
| predicted_RBI | 1.5570 |
| predicted_SLG | 0.3331 |
| predicted_SO | 1.8630 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1370 | 0.3900 | 0.2479 | model_form_blend |
| predicted_3B | 0.0210 | 0.0580 | 0.0372 | model_form_blend |
| predicted_AB | 3.5840 | 12.0010 | 7.2739 | model_form_blend |
| predicted_AVG | 0.2230 | 0.2164 | 0.2201 | model_form_blend |
| predicted_BB | 0.1050 | 0.3190 | 0.1988 | model_form_blend |
| predicted_H | 0.7100 | 2.5970 | 1.5372 | model_form_blend |
| predicted_HBP | - | 0.2020 | 0.2020 | form_only |
| predicted_HR | 0.0700 | 0.2980 | 0.1700 | model_form_blend |
| predicted_OBP | 0.2660 | 0.2453 | 0.2569 | model_form_blend |
| predicted_R | 0.2680 | 0.7800 | 0.4925 | model_form_blend |
| predicted_RBI | 0.3600 | 1.5570 | 0.8848 | model_form_blend |
| predicted_SLG | 0.3170 | 0.3331 | 0.3241 | model_form_blend |
| predicted_SO | 0.6370 | 1.8630 | 1.1745 | 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 | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| BB | 1 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.229 |
| 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 | 0 |
| Hitting_AB | 3 |
| Hitting_AVG | 0.333 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 665926 |
| playerID | 665926 |
| playerName | Andrés Giménez |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 17.9 |
| sl_bb_percent | 3.2 |
| sl_woba | 0.273 |
| sl_xwoba | 0.251 |
| sl_xba | 0.214 |
| sl_xslg | 0.298 |
| sl_sweet_spot_percent | 26.0 |
| sl_barrel_batted_rate | 3.4 |
| sl_hard_hit_percent | 23.3 |
| sl_exit_velocity_avg | 85.6 |
| sl_launch_angle_avg | 10.1 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 57.2 |
| at_bat_number | 56.0 |
| ab_pitcher | 667463.0 |
| ab_pitcher_name | King, John |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| 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 | 1.0 |
| ab_bat_score_start | 2.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Andrés Giménez grounds out, pitcher John King to first baseman Graham Pauley. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 1.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 5.0 |
| ab_launch_speed_last | 92.7 |
| ab_launch_angle_last | -31.0 |
| ab_hit_distance_last | 3.0 |
| ab_woba_value | 0.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 2.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 2.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 86.66666666666667 |
| ab_release_spin_rate_avg | 1890.3333333333333 |
| ab_effective_speed_avg | 86.46666666666665 |
| ab_launch_speed_avg | 92.7 |
| ab_launch_angle_avg | -31.0 |
| ab_delta_run_exp_avg | -0.0853333333333333 |
| ab_delta_home_win_exp_avg | -0.0063333333333333 |
| ab_delta_pitcher_run_exp_avg | 0.0853333333333333 |
| ab_bat_speed_avg | 65.75 |
| ab_swing_length_avg | 6.5 |
| ab_launch_speed_max | 92.7 |
| ab_hit_distance_sc_max | 3.0 |
| ab_release_speed_max | 89.3 |
| ab_release_spin_rate_max | 2076.0 |
| ab_release_speed_min | 82.1 |
| ab_release_spin_rate_min | 1557.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | -0.019 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.088 | 0.000 | 0.000 | Hitting_2B | 0.086 | 0.000 | -0.086 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.157 | 3.000 | 6.000 | Hitting_AB | 3.067 | 4.000 | -0.067 | -1.000 |
| predicted_AVG | 0.274 | 0.333 | 0.333 | Hitting_AVG | 0.276 | 0.500 | 0.057 | -0.167 |
| predicted_BB | 0.431 | 1.000 | 1.000 | Hitting_BB | 0.419 | 0.000 | 0.581 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.660 | 1.000 | 2.000 | Hitting_H | 0.848 | 2.000 | 0.152 | -1.000 |
| predicted_HR | 0.080 | 1.000 | 0.000 | Hitting_HR | 0.162 | 0.000 | 0.838 | 1.000 |
| predicted_OBP | 0.343 | 0.500 | 0.429 | Hitting_OBP | 0.363 | 0.500 | 0.137 | 0.000 |
| predicted_R | 0.510 | 1.000 | 1.000 | Hitting_R | 0.495 | 1.000 | 0.505 | 0.000 |
| predicted_RBI | 0.270 | 2.000 | 1.000 | Hitting_RBI | 0.419 | 0.000 | 1.581 | 2.000 |
| predicted_SLG | 0.390 | 1.333 | 0.333 | Hitting_SLG | 0.463 | 0.500 | 0.871 | 0.833 |
| predicted_SO | 0.863 | 0.000 | 1.000 | Hitting_SO | 0.838 | 0.000 | -0.838 | 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_RBI: 0.2700 -> 2.0000 (boost 1.7300, better) |
| Biggest Deboost | predicted_SO: 0.8630 -> 0.0000 (deboost -0.8630, 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.1570 -> 5.9503 (boost 2.7933, 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_AVG: 0.2843 -> 0.2735 (deboost -0.0108, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 6 | 3 | 3 | 4 | 2 | predicted_H: 1.6275 -> 2.0000 (boost 0.3725, better) | predicted_SO: 1.4783 -> 1.0000 (deboost -0.4783, better) | AB rounded to 6 (raw=5.95), rates preserved: AVG=0.274 HR/AB=0.038 |
| 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.3531 -> 0.4290 (boost 0.0759, better) | predicted_SLG: 0.4163 -> 0.3330 (deboost -0.0833, 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_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.4163 (boost 0.0833, better) | predicted_OBP: 0.4290 -> 0.3531 (deboost -0.0759, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "678218",
"player_name": "Brandon Valenzuela",
"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.088,
"predicted_3B": 0.0,
"predicted_AB": 3.157,
"predicted_AVG": 0.274,
"predicted_BB": 0.431,
"predicted_H": 0.66,
"predicted_HR": 0.08,
"predicted_OBP": 0.343,
"predicted_R": 0.51,
"predicted_RBI": 0.27,
"predicted_SLG": 0.39,
"predicted_SO": 0.863
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"boosted_metrics": 0,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 0,
"biggest_boost": null,
"biggest_deboost": null
},
"weights": {},
"window_games": {}
},
{
"index": 2,
"step": "weighted_recent_form_blend",
"description": "Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.",
"stats": {
"predicted_2B": 0.1667,
"predicted_3B": 0.0013,
"predicted_AB": 5.9503,
"predicted_AVG": 0.2843,
"predicted_BB": 0.7309,
"predicted_H": 1.6123,
"predicted_HBP": 0.007,
"predicted_HR": 0.225,
"predicted_OBP": 0.3558,
"predicted_R": 0.9558,
"predicted_RBI": 0.6319,
"predicted_SLG": 0.4184,
"predicted_SO": 1.4804
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.088,
"after": 0.1667,
"delta": 0.0787,
"percent_delta": 0.8943,
"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.157,
"after": 5.9503,
"delta": 2.7933,
"percent_delta": 0.8848,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2843,
"delta": 0.0103,
"percent_delta": 0.0376,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 0.7309,
"delta": 0.2999,
"percent_delta": 0.6958,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.6123,
"delta": 0.9523,
"percent_delta": 1.4429,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.225,
"delta": 0.145,
"percent_delta": 1.8125,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3558,
"delta": 0.0128,
"percent_delta": 0.0373,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 0.9558,
"delta": 0.4458,
"percent_delta": 0.8741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 0.6319,
"delta": 0.3619,
"percent_delta": 1.3404,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.4184,
"delta": 0.0284,
"percent_delta": 0.0728,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 1.4804,
"delta": 0.6174,
"percent_delta": 0.7154,
"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.157,
"after": 5.9503,
"delta": 2.7933,
"percent_delta": 0.8848,
"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": 3,
"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.1667,
"predicted_3B": 0.0013,
"predicted_AB": 5.9503,
"predicted_AVG": 0.2735,
"predicted_BB": 0.7319,
"predicted_H": 1.6275,
"predicted_HBP": 0.007,
"predicted_HR": 0.2268,
"predicted_OBP": 0.3531,
"predicted_R": 0.9716,
"predicted_RBI": 0.6423,
"predicted_SLG": 0.4163,
"predicted_SO": 1.4783
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.1667,
"after": 0.1667,
"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.9503,
"after": 5.9503,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2843,
"after": 0.2735,
"delta": -0.0108,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.7309,
"after": 0.7319,
"delta": 0.001,
"percent_delta": 0.0014,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.6123,
"after": 1.6275,
"delta": 0.0152,
"percent_delta": 0.0094,
"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.225,
"after": 0.2268,
"delta": 0.0018,
"percent_delta": 0.008,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3558,
"after": 0.3531,
"delta": -0.0027,
"percent_delta": -0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.9558,
"after": 0.9716,
"delta": 0.0158,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.6319,
"after": 0.6423,
"delta": 0.0104,
"percent_delta": 0.0165,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4184,
"after": 0.4163,
"delta": -0.0021,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.4804,
"after": 1.4783,
"delta": -0.0021,
"percent_delta": -0.0014,
"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.2843,
"after": 0.2735,
"delta": -0.0108,
"percent_delta": -0.038,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 6 (raw=5.95), rates preserved: AVG=0.274 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.1667,
"after": 0.0,
"delta": -0.1667,
"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.9503,
"after": 6.0,
"delta": 0.0497,
"percent_delta": 0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.7319,
"after": 1.0,
"delta": 0.2681,
"percent_delta": 0.3663,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.6275,
"after": 2.0,
"delta": 0.3725,
"percent_delta": 0.2289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.007,
"after": 0.0,
"delta": -0.007,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2268,
"after": 0.0,
"delta": -0.2268,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.6423,
"after": 1.0,
"delta": 0.3577,
"percent_delta": 0.5569,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4783,
"after": 1.0,
"delta": -0.4783,
"percent_delta": -0.3235,
"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_H",
"before": 1.6275,
"after": 2.0,
"delta": 0.3725,
"percent_delta": 0.2289,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.4783,
"after": 1.0,
"delta": -0.4783,
"percent_delta": -0.3235,
"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": 0.9716,
"after": 1.0,
"delta": 0.0284,
"percent_delta": 0.0292,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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": 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.2735,
"after": 0.333,
"delta": 0.0595,
"percent_delta": 0.2176,
"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.3531,
"after": 0.429,
"delta": 0.0759,
"percent_delta": 0.215,
"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.4163,
"after": 0.333,
"delta": -0.0833,
"percent_delta": -0.2001,
"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.3531,
"after": 0.429,
"delta": 0.0759,
"percent_delta": 0.215,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4163,
"after": 0.333,
"delta": -0.0833,
"percent_delta": -0.2001,
"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": 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": 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": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 5,
"boosted_metrics": 2,
"deboosted_metrics": 3,
"better_metrics": 3,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_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.2735,
"predicted_BB": 1.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3531,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4163,
"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.2735,
"delta": -0.0595,
"percent_delta": -0.1787,
"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.3531,
"delta": -0.0759,
"percent_delta": -0.177,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.333,
"after": 0.4163,
"delta": 0.0833,
"percent_delta": 0.2502,
"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.4163,
"delta": 0.0833,
"percent_delta": 0.2502,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.429,
"after": 0.3531,
"delta": -0.0759,
"percent_delta": -0.177,
"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.088,
"after": 0.0,
"delta": -0.088,
"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.157,
"after": 3.0,
"delta": -0.157,
"percent_delta": -0.0497,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.274,
"after": 0.2735,
"delta": -0.0005,
"percent_delta": -0.0018,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.431,
"after": 1.0,
"delta": 0.569,
"percent_delta": 1.3202,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.66,
"after": 1.0,
"delta": 0.34,
"percent_delta": 0.5152,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 1.0,
"delta": 0.92,
"percent_delta": 11.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.343,
"after": 0.3531,
"delta": 0.0101,
"percent_delta": 0.0294,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.51,
"after": 1.0,
"delta": 0.49,
"percent_delta": 0.9608,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.27,
"after": 2.0,
"delta": 1.73,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.39,
"after": 0.4163,
"delta": 0.0263,
"percent_delta": 0.0674,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.863,
"after": 0.0,
"delta": -0.863,
"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.27,
"after": 2.0,
"delta": 1.73,
"percent_delta": 6.4074,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.863,
"after": 0.0,
"delta": -0.863,
"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.088 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.157 | - |
| predicted_AVG | 0.274 | - |
| predicted_BB | 0.431 | - |
| predicted_H | 0.660 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.343 | - |
| predicted_R | 0.510 | - |
| predicted_RBI | 0.270 | - |
| predicted_SLG | 0.390 | - |
| predicted_SO | 0.863 | - |
Final model input calibrated with local form: 55% XGBoost raw, 45% weighted form. Batter form uses 20% last 5 games, 20% last 10 games, 60% season.
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_2B | 0.167 | 0.079 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.950 | 2.793 |
| predicted_AVG | 0.284 | 0.010 |
| predicted_BB | 0.731 | 0.300 |
| predicted_H | 1.612 | 0.952 |
| predicted_HBP | 0.007 | - |
| predicted_HR | 0.225 | 0.145 |
| predicted_OBP | 0.356 | 0.013 |
| predicted_R | 0.956 | 0.446 |
| predicted_RBI | 0.632 | 0.362 |
| predicted_SLG | 0.418 | 0.028 |
| predicted_SO | 1.480 | 0.617 |
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.167 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.950 | 0.000 |
| predicted_AVG | 0.274 | -0.011 |
| predicted_BB | 0.732 | 0.001 |
| predicted_H | 1.627 | 0.015 |
| predicted_HBP | 0.007 | 0.000 |
| predicted_HR | 0.227 | 0.002 |
| predicted_OBP | 0.353 | -0.003 |
| predicted_R | 0.972 | 0.016 |
| predicted_RBI | 0.642 | 0.010 |
| predicted_SLG | 0.416 | -0.002 |
| predicted_SO | 1.478 | -0.002 |
AB rounded to 6 (raw=5.95), rates preserved: AVG=0.274 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.167 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 6.000 | 0.050 |
| predicted_AVG | 0.333 | 0.059 |
| predicted_BB | 1.000 | 0.268 |
| predicted_H | 2.000 | 0.373 |
| predicted_HR | 0.000 | -0.227 |
| predicted_OBP | 0.429 | 0.076 |
| predicted_R | 1.000 | 0.028 |
| predicted_RBI | 1.000 | 0.358 |
| predicted_SLG | 0.333 | -0.083 |
| predicted_SO | 1.000 | -0.478 |
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 | 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 | 2 | - | 20.000 | 9.000 | 0.000 | 0.000 | 0.000 | 0.000 | 4.000 | 0.000 | 1.000 | 0.4500 | 0.4500 | 0.4500 | 0.4500 | 0.0000 | 0.0000 | 0.0000 | 0.0500 |
| last_10 | 0.20 | 3 | - | 36.000 | 14.000 | 2.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 4.000 | 0.3889 | 0.4500 | 0.4444 | 0.3889 | 0.0000 | 0.0000 | 0.1111 | 0.1111 |
| season | 0.60 | 32 | - | 322.000 | 89.000 | 9.000 | 0.000 | 17.000 | 44.000 | 52.000 | 44.000 | 88.000 | 0.2764 | 0.3634 | 0.4627 | 0.2764 | 0.0528 | 0.1366 | 0.1366 | 0.2733 |
| Metric | Value |
|---|---|
| predicted_2B | 0.2720 |
| predicted_3B | 0.0030 |
| predicted_AB | 9.6860 |
| predicted_AVG | 0.2980 |
| predicted_BB | 1.1320 |
| predicted_H | 2.8860 |
| predicted_HBP | 0.0070 |
| predicted_HR | 0.4190 |
| predicted_OBP | 0.3730 |
| predicted_R | 1.5520 |
| predicted_RBI | 1.1160 |
| predicted_SLG | 0.4563 |
| predicted_SO | 2.3060 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0880 | 0.2720 | 0.1667 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 3.1570 | 9.6860 | 5.9503 | model_form_blend |
| predicted_AVG | 0.2740 | 0.2980 | 0.2843 | model_form_blend |
| predicted_BB | 0.4310 | 1.1320 | 0.7309 | model_form_blend |
| predicted_H | 0.6600 | 2.8860 | 1.6123 | model_form_blend |
| predicted_HBP | - | 0.0070 | 0.0070 | form_only |
| predicted_HR | 0.0800 | 0.4190 | 0.2250 | model_form_blend |
| predicted_OBP | 0.3430 | 0.3730 | 0.3558 | model_form_blend |
| predicted_R | 0.5100 | 1.5520 | 0.9558 | model_form_blend |
| predicted_RBI | 0.2700 | 1.1160 | 0.6319 | model_form_blend |
| predicted_SLG | 0.3900 | 0.4563 | 0.4184 | model_form_blend |
| predicted_SO | 0.8630 | 2.3060 | 1.4804 | 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 | 105 |
| Season rows before report date | 105 |
| Report year | 2026 |
| Profile rows used | 102 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 4 |
| AB | 3 |
| H | 1 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 1 |
| SO | 0 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.276 |
| 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.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 | 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 | 20260526_MIA@TOR |
| game_type | full |
| mlbID | 678218 |
| playerID | 678218 |
| playerName | Brandon Valenzuela |
| pos | C |
| started | True |
| startingPosition | C |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-26 |
| game_pk | 822811.0 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.333 |
| sl_xwoba | 0.335 |
| sl_xba | 0.259 |
| sl_xslg | 0.409 |
| sl_sweet_spot_percent | 41.2 |
| sl_barrel_batted_rate | 7.4 |
| sl_hard_hit_percent | 39.7 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 16.7 |
| sl_whiff_percent | 26.1 |
| sl_swing_percent | 50.9 |
| at_bat_number | 61.0 |
| ab_pitcher | 806188.0 |
| ab_pitcher_name | Gibson, Cade |
| ab_home_team | TOR |
| ab_away_team | MIA |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 8.0 |
| ab_fld_score_start | 1.0 |
| ab_event | single |
| ab_event_description | Brandon Valenzuela singles on a line drive to right fielder Kyle Stowers. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | SI |
| ab_pitch_name_last | Sinker |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 100.0 |
| ab_launch_angle_last | 10.0 |
| ab_hit_distance_last | 221.0 |
| ab_estimated_ba_last | 0.8 |
| ab_estimated_woba_last | 0.754 |
| ab_estimated_slg_last | 0.917 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 8.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 84.36666666666666 |
| ab_release_spin_rate_avg | 2785.6666666666665 |
| ab_effective_speed_avg | 83.33333333333333 |
| ab_launch_speed_avg | 75.1 |
| ab_launch_angle_avg | -14.0 |
| ab_delta_run_exp_avg | 0.1099999999999999 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.1099999999999999 |
| ab_bat_speed_avg | 70.55 |
| ab_swing_length_avg | 7.800000000000001 |
| ab_launch_speed_max | 100.0 |
| ab_hit_distance_sc_max | 221.0 |
| ab_release_speed_max | 93.5 |
| ab_release_spin_rate_max | 3026.0 |
| ab_release_speed_min | 79.1 |
| ab_release_spin_rate_min | 2335.0 |
| ab_delta_run_exp_sum | 0.3299999999999999 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -0.3299999999999999 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 1.000 | 1.000 | 1.000 | Pitching_BB | 1.444 | 0.000 | -0.444 | 1.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.111 | 1.000 | 0.889 | 2.000 |
| predicted_H | 5.000 | 5.000 | 5.000 | Pitching_H | 5.444 | 5.000 | -0.444 | 0.000 |
| predicted_IP | 5.000 | 5.000 | 5.000 | Pitching_InningsPitched | 4.744 | 6.000 | 0.256 | -1.000 |
| predicted_SO | 4.000 | 4.000 | 4.000 | Pitching_SO | 3.556 | 7.000 | 0.444 | -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_SO: 3.0000 -> 4.0000 (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_SO: 3.0000 -> 4.0000 (boost 1.0000, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "571578",
"player_name": "Patrick Corbin",
"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": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.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": 1.0,
"predicted_ER": 3.0,
"predicted_H": 5.0,
"predicted_HR": 1.0,
"predicted_IP": 5.0,
"predicted_R": 3.0,
"predicted_SO": 4.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"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.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 1,
"boosted_metrics": 1,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_SO",
"before": 3.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"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 | 5.000 | - |
| predicted_HR | 1.000 | - |
| predicted_IP | 5.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 | 25.000 | 11.000 | 31.000 | 7.000 | 16.000 | 2.000 | 3.9600 | 1.5200 | 0.4400 | 1.2400 | 0.2800 | 0.6400 | 0.0800 |
| last_10 | 0.35 | 9 | 44.100 | 19.000 | 49.000 | 13.000 | 32.000 | 4.000 | 3.8571 | 1.3985 | 0.4286 | 1.1053 | 0.2932 | 0.7218 | 0.0902 |
| season | 0.20 | 9 | 44.100 | 19.000 | 49.000 | 13.000 | 32.000 | 4.000 | 3.8571 | 1.3985 | 0.4286 | 1.1053 | 0.2932 | 0.7218 | 0.0902 |
| Metric | Value |
|---|---|
| predicted_BB | 1.5750 |
| predicted_ER | 2.2420 |
| predicted_ERA | 4.0350 |
| predicted_H | 5.5040 |
| predicted_HR | 0.5040 |
| predicted_IP | 5.0000 |
| predicted_SO | 3.8440 |
| predicted_WHIP | 1.4158 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 1.5750 | 1.2870 | model_form_blend |
| predicted_ER | 3.0000 | 2.2420 | 2.6217 | model_form_blend |
| predicted_ERA | - | 4.0350 | 4.0350 | form_only |
| predicted_H | 5.0000 | 5.5040 | 5.2516 | model_form_blend |
| predicted_HR | 1.0000 | 0.5040 | 0.7524 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 3.0000 | 3.8440 | 3.4213 | model_form_blend |
| predicted_WHIP | - | 1.4158 | 1.4158 | 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 | 5.0 |
| H | 5 |
| R | 3 |
| ER | 3 |
| BB | 1 |
| SO | 4 |
| HR | 1 |
| BF | 21 |
| Pitches | 82 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 3.86 |
| Pitching_Flyouts | 3 |
| Pitching_Groundouts | 6 |
| Pitching_H | 5 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 6.0 |
| Pitching_Pitches | 84 |
| Pitching_R | 1 |
| Pitching_SO | 7 |
| Pitching_Strikes | 57 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260523_PIT@TOR |
| game_type | full |
| mlbID | 571578 |
| playerID | 571578 |
| playerName | Patrick Corbin |
| pos | P |
| started | True |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-23 |
| game_pk | 822814.0 |
| sl_k_percent | 16.8 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.344 |
| sl_xwoba | 0.361 |
| sl_sweet_spot_percent | 39.0 |
| sl_barrel_batted_rate | 8.5 |
| sl_hard_hit_percent | 43.3 |
| sl_whiff_percent | 20.3 |
| sl_swing_percent | 49.0 |
| sv_pitch_count | 84.0 |
| sv_outs_recorded_est | 18.0 |
| sv_release_speed | 84.43928571428572 |
| sv_release_spin_rate | 1928.952380952381 |
| sv_effective_speed | 84.69047619047619 |
| sv_launch_speed | 88.46206896551725 |
| sv_launch_angle | 20.17241379310345 |
| sv_woba_value | 4.85 |
| sv_woba_denom | 23.0 |
| sv_delta_run_exp | -2.236 |
| sv_delta_home_win_exp | 0.206 |
| sl_avg_best_speed | 78.440659571 |
| sl_avg_hyper_speed | 94.896210214 |
| 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.038 | 0.000 | -0.038 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.846 | 2.000 | -0.846 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.004 | 1.000 | 0.096 | 0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.577 | 1.000 | -1.577 | -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 | 7.000 | 0.000 | 5.000 | 0.000 | 9.000 | 0.000 | 0.0000 | 0.7143 | 0.0000 | 0.7143 | 0.0000 | 1.2857 | 0.0000 |
| last_10 | 0.35 | 10 | 11.200 | 0.000 | 9.000 | 4.000 | 13.000 | 0.000 | 0.0000 | 1.1143 | 0.0000 | 0.7714 | 0.3429 | 1.1143 | 0.0000 |
| season | 0.20 | 26 | 28.200 | 1.000 | 22.000 | 9.000 | 41.000 | 0.000 | 0.3140 | 1.0814 | 0.0349 | 0.7674 | 0.3140 | 1.4302 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3510 |
| predicted_ER | 0.2920 |
| predicted_ERA | 2.0237 |
| predicted_H | 1.0880 |
| predicted_HR | 0.0800 |
| predicted_IP | 1.1000 |
| predicted_SO | 1.4390 |
| predicted_WHIP | 1.1081 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3510 | 0.1586 | model_form_blend |
| predicted_ER | 0.0000 | 0.2920 | 0.1319 | model_form_blend |
| predicted_ERA | - | 2.0237 | 2.0237 | form_only |
| predicted_H | 0.0000 | 1.0880 | 0.4915 | model_form_blend |
| predicted_HR | 0.0000 | 0.0800 | 0.0361 | model_form_blend |
| predicted_IP | 1.1000 | 1.1000 | 1.1000 | model_form_blend |
| predicted_SO | 0.0000 | 1.4390 | 0.6500 | model_form_blend |
| predicted_WHIP | - | 1.1081 | 1.1081 | 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 | 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 | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.31 |
| 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 | 1.0 |
| Pitching_Pitches | 16 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 11 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | H |
| Pitching_pitchingOrder | 4 |
| allPositionsPlayed | P |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 686973 |
| playerID | 686973 |
| playerName | Louis Varland |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 36.7 |
| sl_bb_percent | 8.3 |
| sl_woba | 0.229 |
| sl_xwoba | 0.212 |
| sl_sweet_spot_percent | 21.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 31.7 |
| sl_whiff_percent | 28.5 |
| sl_swing_percent | 50.6 |
| sv_pitch_count | 16.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.1 |
| sv_release_spin_rate | 2328.25 |
| sv_effective_speed | 92.18125 |
| sv_launch_speed | 87.7 |
| sv_launch_angle | 9.5 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.237 |
| sv_delta_home_win_exp | 0.122 |
| sl_avg_best_speed | 74.726943 |
| sl_avg_hyper_speed | 92.8701315 |
| 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.308 | 0.000 | 0.692 | 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.192 | 2.000 | -1.192 | -2.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.846 | 1.100 | 0.154 | -0.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 1.615 | 2.000 | -1.615 | -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": "656546",
"player_name": "Jeff Hoffman",
"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": 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 | 0.000 | 3.000 | 0.000 | 8.000 | 0.000 | 0.0000 | 0.6000 | 0.0000 | 0.6000 | 0.0000 | 1.6000 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 3.000 | 11.000 | 1.000 | 14.000 | 1.000 | 2.7931 | 1.2414 | 0.3103 | 1.1379 | 0.1035 | 1.4483 | 0.1035 |
| season | 0.20 | 26 | 24.100 | 13.000 | 31.000 | 8.000 | 42.000 | 3.000 | 4.8082 | 1.6027 | 0.5343 | 1.2740 | 0.3288 | 1.7260 | 0.1233 |
| Metric | Value |
|---|---|
| predicted_BB | 0.2380 |
| predicted_ER | 0.3460 |
| predicted_ERA | 3.1137 |
| predicted_H | 0.9330 |
| predicted_HR | 0.0970 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.2520 |
| predicted_WHIP | 1.1715 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.2380 | 0.6690 | model_form_blend |
| predicted_ER | 0.0000 | 0.3460 | 0.1503 | model_form_blend |
| predicted_ERA | - | 3.1137 | 3.1137 | form_only |
| predicted_H | 0.0000 | 0.9330 | 0.4053 | model_form_blend |
| predicted_HR | 0.0000 | 0.0970 | 0.0421 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.2520 | 0.5439 | model_form_blend |
| predicted_WHIP | - | 1.1715 | 1.1715 | 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 | 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 | 4.81 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 2 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 1 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 1.1 |
| Pitching_Pitches | 23 |
| Pitching_R | 0 |
| Pitching_SO | 2 |
| Pitching_Strikes | 14 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 656546 |
| playerID | 656546 |
| playerName | Jeff Hoffman |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 37.0 |
| sl_bb_percent | 7.4 |
| sl_woba | 0.344 |
| sl_xwoba | 0.264 |
| sl_sweet_spot_percent | 25.9 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 31.0 |
| sl_whiff_percent | 41.3 |
| sl_swing_percent | 52.2 |
| sv_pitch_count | 23.0 |
| sv_outs_recorded_est | 2.0 |
| sv_release_speed | 89.5 |
| sv_release_spin_rate | 2576.782608695652 |
| sv_effective_speed | 90.14782608695651 |
| sv_launch_speed | 74.39999999999999 |
| sv_launch_angle | 27.0 |
| sv_woba_value | 1.8 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | 0.1909999999999999 |
| sv_delta_home_win_exp | 0.088 |
| sl_avg_best_speed | 77.99319 |
| sl_avg_hyper_speed | 92.983970536 |
| 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 | 2.000 | 2.000 | 2.000 | Pitching_H | 0.731 | 0.000 | 1.269 | 2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.881 | 1.000 | 0.219 | 0.100 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 0.577 | 0.000 | 0.423 | 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": "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": 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.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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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": 2.0,
"after": 2.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_IP",
"before": 1.0,
"after": 1.1,
"delta": 0.1,
"percent_delta": 0.1,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 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 | 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 | 4.200 | 3.000 | 2.000 | 3.000 | 2.000 | 0.000 | 5.7857 | 1.0714 | 0.6429 | 0.4286 | 0.6429 | 0.4286 | 0.0000 |
| last_10 | 0.35 | 10 | 8.200 | 6.000 | 11.000 | 5.000 | 5.000 | 0.000 | 6.2308 | 1.8462 | 0.6923 | 1.2692 | 0.5769 | 0.5769 | 0.0000 |
| season | 0.20 | 26 | 25.000 | 7.000 | 19.000 | 9.000 | 15.000 | 0.000 | 2.5200 | 1.1200 | 0.2800 | 0.7600 | 0.3600 | 0.6000 | 0.0000 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4650 |
| predicted_ER | 0.5290 |
| predicted_ERA | 4.7611 |
| predicted_H | 0.8670 |
| predicted_HR | 0.0660 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.7310 |
| predicted_WHIP | 1.3321 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.4650 | 0.2033 | model_form_blend |
| predicted_ER | 0.0000 | 0.5290 | 0.2313 | model_form_blend |
| predicted_ERA | - | 4.7611 | 4.7611 | form_only |
| predicted_H | 2.0000 | 0.8670 | 1.5046 | model_form_blend |
| predicted_HR | 0.0000 | 0.0660 | 0.0289 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 0.7310 | 0.8824 | model_form_blend |
| predicted_WHIP | - | 1.3321 | 1.3321 | 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 | 2 |
| R | 0 |
| ER | 0 |
| BB | 0 |
| SO | 1 |
| HR | 0 |
| BF | 6 |
| Pitches | 23 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.52 |
| 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 | 7 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 6 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | S |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260527_MIA@TOR |
| game_type | full |
| mlbID | 643511 |
| playerID | 643511 |
| playerName | Tyler Rogers |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-27 |
| game_pk | 822809.0 |
| sl_k_percent | 15.2 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.236 |
| sl_xwoba | 0.249 |
| sl_sweet_spot_percent | 22.7 |
| sl_barrel_batted_rate | 0.0 |
| sl_hard_hit_percent | 21.3 |
| sl_whiff_percent | 13.5 |
| sl_swing_percent | 47.8 |
| sv_pitch_count | 7.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 78.05714285714285 |
| sv_release_spin_rate | 2267.714285714286 |
| sv_effective_speed | 77.74285714285715 |
| sv_launch_speed | 83.03333333333333 |
| sv_launch_angle | 48.66666666666666 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.756 |
| sv_delta_home_win_exp | 0.165 |
| sl_avg_best_speed | 71.213287838 |
| sl_avg_hyper_speed | 91.697152466 |
| 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.429 | 0.000 | -0.429 | 0.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.321 | 0.000 | -0.321 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.679 | 1.000 | 0.321 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.929 | 1.000 | 0.071 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.143 | 1.000 | 1.857 | 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.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": "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": 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": 0.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"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": 0.6667,
"after": 1.0,
"delta": 0.3333,
"percent_delta": 0.5,
"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.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": 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.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 | 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 | 6.000 | 0.000 | 2.000 | 2.000 | 9.000 | 0.000 | 0.0000 | 0.6667 | 0.0000 | 0.3333 | 0.3333 | 1.5000 | 0.0000 |
| last_10 | 0.35 | 10 | 11.000 | 3.000 | 5.000 | 4.000 | 12.000 | 1.000 | 2.4545 | 0.8182 | 0.2727 | 0.4546 | 0.3636 | 1.0909 | 0.0909 |
| season | 0.20 | 28 | 30.200 | 9.000 | 19.000 | 12.000 | 32.000 | 2.000 | 2.6413 | 1.0109 | 0.2935 | 0.6196 | 0.3913 | 1.0435 | 0.0652 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3370 |
| predicted_ER | 0.2770 |
| predicted_ERA | 2.6787 |
| predicted_H | 0.6180 |
| predicted_HR | 0.0780 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0430 |
| predicted_WHIP | 1.0255 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.3370 | 0.1546 | model_form_blend |
| predicted_ER | 0.0000 | 0.2770 | 0.1271 | model_form_blend |
| predicted_ERA | - | 2.6787 | 2.6787 | form_only |
| predicted_H | 1.0000 | 0.6180 | 0.8247 | model_form_blend |
| predicted_HR | 0.0000 | 0.0780 | 0.0358 | model_form_blend |
| predicted_IP | 0.2000 | 1.0000 | 0.2000 | model_form_blend |
| predicted_SO | 3.0000 | 1.0430 | 2.1021 | model_form_blend |
| predicted_WHIP | - | 1.0255 | 1.0255 | 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 | 1 |
| 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 0 |
| Pitching_ERA | 2.64 |
| 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 | 1 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 1 |
| allPositionsPlayed | P |
| gameID | 20260526_MIA@TOR |
| game_type | full |
| mlbID | 680755 |
| playerID | 680755 |
| playerName | Braydon Fisher |
| pos | P |
| started | True |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-26 |
| game_pk | 822811.0 |
| sl_k_percent | 27.4 |
| sl_bb_percent | 10.3 |
| sl_woba | 0.267 |
| sl_xwoba | 0.303 |
| sl_sweet_spot_percent | 31.0 |
| sl_barrel_batted_rate | 11.3 |
| sl_hard_hit_percent | 39.4 |
| sl_whiff_percent | 28.6 |
| sl_swing_percent | 45.1 |
| sv_pitch_count | 12.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 84.91666666666667 |
| sv_release_spin_rate | 2399.5 |
| sv_effective_speed | 83.40833333333333 |
| sv_launch_speed | 78.36666666666667 |
| sv_launch_angle | 15.333333333333334 |
| sv_woba_value | 0.9 |
| sv_woba_denom | 4.0 |
| sv_delta_run_exp | -0.4479999999999999 |
| sv_delta_home_win_exp | 0.048 |
| sl_avg_best_speed | 77.712849444 |
| sl_avg_hyper_speed | 93.619031268 |
| 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.600 | 1.000 | -0.600 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.533 | 1.000 | 1.467 | 1.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.667 | 3.000 | -0.667 | -2.000 |
| predicted_IP | 0.100 | 0.100 | 0.100 | Pitching_InningsPitched | 2.067 | 4.100 | -1.967 | -4.000 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 2.133 | 3.000 | -1.133 | -2.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 4 |
| Boosted Metrics | 4 |
| Deboosted Metrics | 0 |
| Better Metrics | 1 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_ER: 0.0000 -> 2.0000 (boost 2.0000, worse) |
| Biggest Deboost | - |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | pitcher_form_blend | 0 | 0 | 0 | 0 | 0 | - | - | Pitcher model/profile expectation with Bayesian recent-form shrinkage |
| 2 | current_json_final | 4 | 4 | 0 | 1 | 3 | predicted_ER: 0.0000 -> 2.0000 (boost 2.0000, worse) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "693686",
"player_name": "Spencer Miles",
"position": "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": 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": 2.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 0.1,
"predicted_R": 2.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": 2.0,
"delta": 2.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"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": 2.0,
"delta": 2.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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"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": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 4,
"boosted_metrics": 4,
"deboosted_metrics": 0,
"better_metrics": 1,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_ER",
"before": 0.0,
"after": 2.0,
"delta": 2.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": null,
"has_material_change": true,
"dominant_effect": "worse"
}
}
}Pitcher model/profile expectation with Bayesian recent-form shrinkage
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| predicted_BB | 0.000 | - |
| predicted_ER | 0.000 | - |
| predicted_H | 0.000 | - |
| predicted_HR | 0.000 | - |
| predicted_IP | 0.100 | - |
| predicted_SO | 0.000 | - |
| Window | Weight | Games | Total IP | Total ER | Total H | Total BB | Total SO | Total HR | ERA | WHIP | ER_per_IP | H_per_IP | BB_per_IP | SO_per_IP | HR_per_IP |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| last_5 | 0.45 | 5 | 16.200 | 3.000 | 12.000 | 4.000 | 17.000 | 0.000 | 1.6200 | 0.9600 | 0.1800 | 0.7200 | 0.2400 | 1.0200 | 0.0000 |
| last_10 | 0.35 | 10 | 24.000 | 4.000 | 17.000 | 6.000 | 24.000 | 0.000 | 1.5000 | 0.9583 | 0.1667 | 0.7083 | 0.2500 | 1.0000 | 0.0000 |
| season | 0.20 | 15 | 33.100 | 8.000 | 25.000 | 9.000 | 32.000 | 2.000 | 2.1600 | 1.0200 | 0.2400 | 0.7500 | 0.2700 | 0.9600 | 0.0600 |
| Metric | Value |
|---|---|
| predicted_BB | 0.5200 |
| predicted_ER | 0.5350 |
| predicted_ERA | 2.7898 |
| predicted_H | 1.4100 |
| predicted_HR | 0.1090 |
| predicted_IP | 1.2000 |
| predicted_SO | 1.6840 |
| predicted_WHIP | 1.1186 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 0.5200 | 0.2431 | model_form_blend |
| predicted_ER | 0.0000 | 0.5350 | 0.2501 | model_form_blend |
| predicted_ERA | - | 2.7898 | 2.7898 | form_only |
| predicted_H | 0.0000 | 1.4100 | 0.6591 | model_form_blend |
| predicted_HR | 0.0000 | 0.1090 | 0.0510 | model_form_blend |
| predicted_IP | 0.1000 | 1.2000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 1.6840 | 0.7872 | model_form_blend |
| predicted_WHIP | - | 1.1186 | 1.1186 | 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 | 0.1 |
| H | 1 |
| R | 2 |
| ER | 2 |
| BB | 0 |
| SO | 1 |
| HR | 1 |
| BF | 2 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 17 |
| Pitching_ER | 1 |
| Pitching_ERA | 2.16 |
| Pitching_Flyouts | 1 |
| Pitching_Groundouts | 9 |
| Pitching_H | 3 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 66 |
| Pitching_R | 1 |
| Pitching_SO | 3 |
| Pitching_Strikes | 44 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260526_MIA@TOR |
| game_type | full |
| mlbID | 693686 |
| playerID | 693686 |
| playerName | Spencer Miles |
| pos | P |
| started | False |
| startingPosition | P |
| team | TOR |
| teamID | 29 |
| game_date | 2026-05-26 |
| game_pk | 822811.0 |
| sl_k_percent | 24.1 |
| sl_bb_percent | 6.8 |
| sl_woba | 0.24 |
| sl_xwoba | 0.275 |
| sl_sweet_spot_percent | 26.1 |
| sl_barrel_batted_rate | 3.3 |
| sl_hard_hit_percent | 30.4 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 49.3 |
| sv_pitch_count | 67.0 |
| sv_outs_recorded_est | 13.0 |
| sv_release_speed | 89.25909090909092 |
| sv_release_spin_rate | 2498.1666666666665 |
| sv_effective_speed | 90.11666666666666 |
| sv_launch_speed | 83.70384615384616 |
| sv_launch_angle | 9.538461538461538 |
| sv_woba_value | 3.4 |
| sv_woba_denom | 17.0 |
| sv_delta_run_exp | -1.957 |
| sv_delta_home_win_exp | 0.158 |
| sl_avg_best_speed | 73.456447826 |
| sl_avg_hyper_speed | 92.473394176 |
| Field | Value |
|---|---|
| Pitcher | Chris Bassitt |
| Role | Starter |
| Projection Source | all_players_stats_recent_season_blend |
| Savant Quality Score | -0.3078 |
| ESPN Rank | 504 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.2800 |
| Avg Velo | 84.5145 |
| Avg Spin | 2154.2907 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 4.2000 |
| Pre ER | 3 |
| Pre H | 3 |
| Pre BB | 0 |
| Pre SO | 5 |
| Season ERA | 5.5141 |
| Season WHIP | 1.6690 |
| Role Avg IP | 4.6250 |
| Recent Avg IP | 5.2000 |
| Last Start IP | 5 |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"opponent": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"edges": {
"quality_edge": -0.1265,
"offense_edge": -0.0018,
"opponent_offense_edge": -0.0592,
"defense_strength": -0.0902,
"opponent_defense_weakness": -0.1286,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9946,
"run_prevention": 1.0059,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "605135",
"profile": {
"available": true,
"pitcher_id": "605135",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 202.0,
"k_percent": 15.3,
"bb_percent": 8.6,
"woba": 0.368,
"xwoba": 0.345,
"sweet_spot_percent": 31.5,
"barrel_batted_rate": 3.7,
"hard_hit_percent": 37.0,
"avg_best_speed": 76.5099,
"avg_hyper_speed": 93.7747,
"whiff_percent": 22.1,
"swing_percent": 45.6
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.4701,
"command_and_miss": -0.6193,
"regression_edge": 0.6571,
"xwoba_edge": -1.0286,
"barrel_edge": 0.8,
"hard_hit_edge": 0.2143,
"whiff_edge": -0.5429,
"bb_edge": 0.2,
"pitch_design_score": -0.28
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "605135",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 84.51451632147452,
"release_spin_rate": 2154.290720484276,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 84.51451632147452,
"release_spin_rate": 2154.290720484276,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5145,
"release_spin_rate": 2154.2907,
"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.3078,
"sample_weight": 0.808,
"run_prevention_factor": 1.0262,
"strikeout_factor": 0.9487,
"walk_factor": 0.9871,
"homer_factor": 0.9663,
"woba_minus_xwoba": 0.023,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "605135",
"espn_id": 33148,
"player_name": "Chris Bassitt",
"team": "BAL",
"role": "pitcher",
"espn_rank": 504,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 504,
"gp_value": 10.0,
"gp_rank": 318,
"gs_value": 8.0,
"gs_rank": 111,
"qs_value": 1.0,
"qs_rank": 122,
"era_value": 5.514,
"era_rank": null,
"w_value": 4.0,
"w_rank": 36,
"l_value": 3.0,
"l_rank": 68,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 0.0,
"hld_rank": 236,
"ip_value": 47.1,
"ip_rank": 110,
"h_value": 60.0,
"h_rank": 24,
"er_value": 29.0,
"er_rank": 39,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 19.0,
"bb_rank": 65,
"k_value": 34.0,
"k_rank": 137,
"k_per_9_value": 6.464789,
"k_per_9_rank": 33,
"whip_value": 1.669,
"whip_rank": null,
"war_value": -0.19,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 3.0,
"factor": 1.0212,
"adjusted": 3
},
"predicted_H": {
"original": 6.0,
"factor": 1.0212,
"adjusted": 6
},
"predicted_BB": {
"original": 2.0,
"factor": 0.9896,
"adjusted": 2
},
"predicted_HR": {
"original": 1.0,
"factor": 0.9728,
"adjusted": 1
},
"predicted_SO": {
"original": 3.0,
"factor": 0.9585,
"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": 47.1,
"ER": 29,
"H": 60,
"BB": 19,
"SO": 34,
"HR": 4,
"ERA": 5.514084507042253,
"WHIP": 1.6690140845070423,
"K9": 6.464788732394366,
"HR9": 0.7605633802816901,
"games_pitched": 10,
"quality_starts": 2,
"dominant_form": false,
"struggling_form": true
},
"fielding": {
"errors": 2,
"assists": 0,
"games_fielded": 10,
"error_prone": false
},
"games_count": 10,
"latest_game_date": "2026-05-22T00:00:00"
}{
"available": true,
"pitcher_id": "605135",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 86,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 84.51451632147452,
"release_spin_rate": 2154.290720484276,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"release_pos_z": null,
"release_extension": 0.0,
"arm_angle": 0.0,
"whiff_percent": 0.0,
"xwoba": 0.0,
"hard_hit_percent": 0.0
},
"pitch_mix": [
{
"pitch_type": null,
"pitch_name": null,
"pitches": 86,
"pitch_usage": 0.0,
"release_speed": 84.51451632147452,
"release_spin_rate": 2154.290720484276,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.5145,
"release_spin_rate": 2154.2907,
"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.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": "605135",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 10,
"reference_playing_time": 5.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 26.0,
"ER": 13.0,
"R": 13.0,
"H": 29.0,
"BB": 6.0,
"SO": 24.0,
"HR": 1.0,
"BF": 114.0,
"Pitches": 404.0
},
"per_game": {
"IP": 5.1,
"ER": 2.6,
"R": 2.6,
"H": 5.8,
"BB": 1.2,
"SO": 4.8,
"HR": 0.2,
"BF": 22.8,
"Pitches": 80.8
},
"rates": {
"ERA": 4.5,
"WHIP": 1.3462,
"ER_per_IP": 0.5,
"H_per_IP": 1.11538,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.92308,
"HR_per_IP": 0.03846
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 47.1,
"ER": 29.0,
"R": 30.0,
"H": 60.0,
"BB": 19.0,
"SO": 34.0,
"HR": 4.0,
"BF": 222.0,
"Pitches": 843.0
},
"per_game": {
"IP": 4.2,
"ER": 2.9,
"R": 3.0,
"H": 6.0,
"BB": 1.9,
"SO": 3.4,
"HR": 0.4,
"BF": 22.2,
"Pitches": 84.3
},
"rates": {
"ERA": 5.5141,
"WHIP": 1.669,
"ER_per_IP": 0.61268,
"H_per_IP": 1.26761,
"BB_per_IP": 0.40141,
"SO_per_IP": 0.71831,
"HR_per_IP": 0.08451
}
},
"season": {
"games": 10,
"totals": {
"IP": 47.1,
"ER": 29.0,
"R": 30.0,
"H": 60.0,
"BB": 19.0,
"SO": 34.0,
"HR": 4.0,
"BF": 222.0,
"Pitches": 843.0
},
"per_game": {
"IP": 4.2,
"ER": 2.9,
"R": 3.0,
"H": 6.0,
"BB": 1.9,
"SO": 3.4,
"HR": 0.4,
"BF": 22.2,
"Pitches": 84.3
},
"rates": {
"ERA": 5.5141,
"WHIP": 1.669,
"ER_per_IP": 0.61268,
"H_per_IP": 1.26761,
"BB_per_IP": 0.40141,
"SO_per_IP": 0.71831,
"HR_per_IP": 0.08451
}
}
},
"weighted_prediction": {
"predicted_IP": 5.0,
"predicted_ER": 2.631,
"predicted_H": 5.542,
"predicted_BB": 1.642,
"predicted_SO": 4.376,
"predicted_HR": 0.416,
"predicted_ERA": 4.7095,
"predicted_WHIP": 1.429
}
}{
"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": 5.0,
"form": 5.0,
"final": 5.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 2.631,
"final": 2.3213,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 5.542,
"final": 2.8219,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 0.0,
"form": 1.642,
"final": 0.8361,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 5.0,
"form": 4.376,
"final": 4.6823,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.416,
"final": 0.2118,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 4.7095,
"final": 4.7095,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.429,
"final": 1.429,
"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 | Anthony Nunez |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | -0.0526 |
| ESPN Rank | 602 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0581 |
| Avg Velo | 90.7253 |
| Avg Spin | 2298.1031 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1 |
| Pre ER | 0 |
| Pre H | 0 |
| Pre BB | 1 |
| Pre SO | 3 |
| Season ERA | 3.8571 |
| Season WHIP | 1.0130 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"opponent": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"edges": {
"quality_edge": -0.1265,
"offense_edge": -0.0018,
"opponent_offense_edge": -0.0592,
"defense_strength": -0.0902,
"opponent_defense_weakness": -0.1286,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9946,
"run_prevention": 1.0059,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "689296",
"profile": {
"available": true,
"pitcher_id": "689296",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 98.0,
"k_percent": 26.7,
"bb_percent": 7.6,
"woba": 0.311,
"xwoba": 0.329,
"sweet_spot_percent": 40.6,
"barrel_batted_rate": 8.7,
"hard_hit_percent": 46.4,
"avg_best_speed": 78.3434,
"avg_hyper_speed": 94.7566,
"whiff_percent": 35.6,
"swing_percent": 48.9
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": -0.5145,
"command_and_miss": 0.8386,
"regression_edge": -0.5143,
"xwoba_edge": -0.5714,
"barrel_edge": -0.3111,
"hard_hit_edge": -1.1286,
"whiff_edge": 1.3857,
"bb_edge": 0.45,
"pitch_design_score": 0.0581
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "689296",
"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": 90.72526166169227,
"release_spin_rate": 2298.1030639085066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.72526166169227,
"release_spin_rate": 2298.1030639085066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7253,
"release_spin_rate": 2298.1031,
"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.0581,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4151,
"whiff_edge": 0.0,
"xwoba_edge": -0.0,
"hard_hit_edge": -0.0
},
"spin_efficiency_note": "Savant statcast CSV provides spin rate and spin axis here; true spin efficiency is not exposed in this feed."
},
"quality_score": -0.0526,
"sample_weight": 0.45,
"run_prevention_factor": 1.0045,
"strikeout_factor": 1.0355,
"walk_factor": 0.9838,
"homer_factor": 1.0392,
"woba_minus_xwoba": -0.018,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "689296",
"espn_id": 5275196,
"player_name": "Anthony Nunez",
"team": "BAL",
"role": "pitcher",
"espn_rank": 602,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 602,
"gp_value": 25.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 4.909,
"era_rank": null,
"w_value": 2.0,
"w_rank": 127,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 3.0,
"sv_rank": 36,
"hld_value": 6.0,
"hld_rank": 40,
"ip_value": 25.2,
"ip_rank": 196,
"h_value": 22.0,
"h_rank": 217,
"er_value": 14.0,
"er_rank": 153,
"hr_value": 4.0,
"hr_rank": 135,
"bb_value": 8.0,
"bb_rank": 282,
"k_value": 28.0,
"k_rank": 179,
"k_per_9_value": 9.818181,
"k_per_9_rank": 24,
"whip_value": 1.1688,
"whip_rank": null,
"war_value": -0.49,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 1.0,
"factor": 1.002,
"adjusted": 1
},
"predicted_H": {
"original": 0.0,
"factor": 1.002,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9927,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0176,
"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": 10.1,
"ER": 7,
"H": 8,
"BB": 3,
"SO": 10,
"HR": 2,
"ERA": 6.096774193548387,
"WHIP": 1.064516129032258,
"K9": 8.709677419354838,
"HR9": 1.7419354838709677,
"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-27T00:00:00"
}{
"available": true,
"pitcher_id": "689296",
"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": 90.72526166169227,
"release_spin_rate": 2298.1030639085066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 90.72526166169227,
"release_spin_rate": 2298.1030639085066,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7253,
"release_spin_rate": 2298.1031,
"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.0581,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.4151,
"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.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5031,
"prior_weight": 0.4969
},
"role": "pitcher",
"player_id": "689296",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 24,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 5.0,
"R": 5.0,
"H": 5.0,
"BB": 1.0,
"SO": 3.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 85.0
},
"per_game": {
"IP": 1.0,
"ER": 1.0,
"R": 1.0,
"H": 1.0,
"BB": 0.2,
"SO": 0.6,
"HR": 0.0,
"BF": 3.8,
"Pitches": 17.0
},
"rates": {
"ERA": 10.3846,
"WHIP": 1.3846,
"ER_per_IP": 1.15385,
"H_per_IP": 1.15385,
"BB_per_IP": 0.23077,
"SO_per_IP": 0.69231,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 10.1,
"ER": 7.0,
"R": 7.0,
"H": 8.0,
"BB": 3.0,
"SO": 10.0,
"HR": 2.0,
"BF": 41.0,
"Pitches": 172.0
},
"per_game": {
"IP": 1.0,
"ER": 0.7,
"R": 0.7,
"H": 0.8,
"BB": 0.3,
"SO": 1.0,
"HR": 0.2,
"BF": 4.1,
"Pitches": 17.2
},
"rates": {
"ERA": 6.0968,
"WHIP": 1.0645,
"ER_per_IP": 0.67742,
"H_per_IP": 0.77419,
"BB_per_IP": 0.29032,
"SO_per_IP": 0.96774,
"HR_per_IP": 0.19355
}
},
"season": {
"games": 24,
"totals": {
"IP": 25.2,
"ER": 11.0,
"R": 15.0,
"H": 20.0,
"BB": 6.0,
"SO": 28.0,
"HR": 4.0,
"BF": 104.0,
"Pitches": 390.0
},
"per_game": {
"IP": 1.0,
"ER": 0.4583,
"R": 0.625,
"H": 0.8333,
"BB": 0.25,
"SO": 1.1667,
"HR": 0.1667,
"BF": 4.3333,
"Pitches": 16.25
},
"rates": {
"ERA": 3.8571,
"WHIP": 1.013,
"ER_per_IP": 0.42857,
"H_per_IP": 0.77922,
"BB_per_IP": 0.23377,
"SO_per_IP": 1.09091,
"HR_per_IP": 0.15584
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.658,
"predicted_H": 0.945,
"predicted_BB": 0.31,
"predicted_SO": 0.906,
"predicted_HR": 0.115,
"predicted_ERA": 5.9201,
"predicted_WHIP": 1.2548
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5599,
"form_weight": 0.4401,
"form_reliability": 0.5031,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 5.063,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.5031,
"prior_weight": 0.4969
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 0.0,
"form": 0.658,
"final": 0.2896,
"source": "model_form_blend"
},
"predicted_H": {
"model": 0.0,
"form": 0.945,
"final": 0.4159,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.31,
"final": 0.6964,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 3.0,
"form": 0.906,
"final": 2.0785,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.115,
"final": 0.0506,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 5.9201,
"final": 5.9201,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2548,
"final": 1.2548,
"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.4907 |
| ESPN Rank | 28 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.0020 |
| Avg Velo | 89.7228 |
| Avg Spin | 2461.3300 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.2000 |
| Pre ER | 2 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 1 |
| Season ERA | 0.7714 |
| Season WHIP | 0.6429 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"opponent": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"edges": {
"quality_edge": -0.1265,
"offense_edge": -0.0018,
"opponent_offense_edge": -0.0592,
"defense_strength": -0.0902,
"opponent_defense_weakness": -0.1286,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9946,
"run_prevention": 1.0059,
"strikeout": 1.0009
},
"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": 73.0,
"k_percent": 32.5,
"bb_percent": 10.8,
"woba": 0.158,
"xwoba": 0.239,
"sweet_spot_percent": 23.4,
"barrel_batted_rate": 4.3,
"hard_hit_percent": 31.9,
"avg_best_speed": 72.5584,
"avg_hyper_speed": 92.9599,
"whiff_percent": 40.3,
"swing_percent": 47.0
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 1.7069,
"command_and_miss": 1.2864,
"regression_edge": -2.0,
"xwoba_edge": 2.0,
"barrel_edge": 0.6667,
"hard_hit_edge": 0.9429,
"whiff_edge": 2.0571,
"bb_edge": -0.35,
"pitch_design_score": 0.002
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "670329",
"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.72283500291829,
"release_spin_rate": 2461.3299966164313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.72283500291829,
"release_spin_rate": 2461.3299966164313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7228,
"release_spin_rate": 2461.33,
"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.002,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0141,
"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.4907,
"sample_weight": 0.45,
"run_prevention_factor": 0.9583,
"strikeout_factor": 1.0625,
"walk_factor": 1.0126,
"homer_factor": 0.932,
"woba_minus_xwoba": -0.081,
"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": 28,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 28,
"gp_value": 25.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 0.7714,
"era_rank": null,
"w_value": 3.0,
"w_rank": 68,
"l_value": 0.0,
"l_rank": 379,
"sv_value": 3.0,
"sv_rank": 36,
"hld_value": 8.0,
"hld_rank": 21,
"ip_value": 23.1,
"ip_rank": 242,
"h_value": 6.0,
"h_rank": 487,
"er_value": 2.0,
"er_rank": 525,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 9.0,
"bb_rank": 249,
"k_value": 27.0,
"k_rank": 189,
"k_per_9_value": 10.414287,
"k_per_9_rank": 21,
"whip_value": 0.6428,
"whip_rank": null,
"war_value": 1.55,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9812,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9812,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 1.0057,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9694,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0281,
"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": 1,
"H": 5,
"BB": 5,
"SO": 12,
"HR": 0,
"ERA": 0.9310344827586208,
"WHIP": 1.0344827586206897,
"K9": 11.172413793103448,
"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-25T00:00:00"
}{
"available": true,
"pitcher_id": "670329",
"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.72283500291829,
"release_spin_rate": 2461.3299966164313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.72283500291829,
"release_spin_rate": 2461.3299966164313,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.7228,
"release_spin_rate": 2461.33,
"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.002,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.0141,
"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.602,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4793,
"prior_weight": 0.5207
},
"role": "pitcher",
"player_id": "670329",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 25,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 4.1,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 19.0,
"Pitches": 77.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": 3.8,
"Pitches": 15.4
},
"rates": {
"ERA": 2.0769,
"WHIP": 1.6154,
"ER_per_IP": 0.23077,
"H_per_IP": 1.15385,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 5.0,
"BB": 5.0,
"SO": 12.0,
"HR": 0.0,
"BF": 37.0,
"Pitches": 154.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.5,
"BB": 0.5,
"SO": 1.2,
"HR": 0.0,
"BF": 3.7,
"Pitches": 15.4
},
"rates": {
"ERA": 0.931,
"WHIP": 1.0345,
"ER_per_IP": 0.10345,
"H_per_IP": 0.51724,
"BB_per_IP": 0.51724,
"SO_per_IP": 1.24138,
"HR_per_IP": 0.0
}
},
"season": {
"games": 25,
"totals": {
"IP": 23.1,
"ER": 2.0,
"R": 2.0,
"H": 6.0,
"BB": 9.0,
"SO": 27.0,
"HR": 1.0,
"BF": 83.0,
"Pitches": 328.0
},
"per_game": {
"IP": 1.0,
"ER": 0.08,
"R": 0.08,
"H": 0.24,
"BB": 0.36,
"SO": 1.08,
"HR": 0.04,
"BF": 3.32,
"Pitches": 13.12
},
"rates": {
"ERA": 0.7714,
"WHIP": 0.6429,
"ER_per_IP": 0.08571,
"H_per_IP": 0.25714,
"BB_per_IP": 0.38571,
"SO_per_IP": 1.15714,
"HR_per_IP": 0.04286
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.321,
"predicted_H": 0.851,
"predicted_BB": 0.415,
"predicted_SO": 1.06,
"predicted_HR": 0.072,
"predicted_ERA": 2.8865,
"predicted_WHIP": 1.2668
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.57,
"form_weight": 0.43,
"form_reliability": 0.4793,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.602,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4793,
"prior_weight": 0.5207
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.321,
"final": 1.278,
"source": "model_form_blend"
},
"predicted_H": {
"model": 1.0,
"form": 0.851,
"final": 0.9359,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.415,
"final": 0.7484,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 1.0,
"form": 1.06,
"final": 1.0258,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 1.0,
"form": 0.072,
"final": 0.601,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 2.8865,
"final": 2.8865,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.2668,
"final": 1.2668,
"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 Wells |
| Role | Middle Reliever |
| Projection Source | - |
| Savant Quality Score | 0.0486 |
| ESPN Rank | 202 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | -0.0223 |
| Avg Velo | 89.2898 |
| Avg Spin | 2410.4014 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 2 |
| Season ERA | 3.1974 |
| Season WHIP | 1.1447 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"opponent": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"edges": {
"quality_edge": -0.1265,
"offense_edge": -0.0018,
"opponent_offense_edge": -0.0592,
"defense_strength": -0.0902,
"opponent_defense_weakness": -0.1286,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9946,
"run_prevention": 1.0059,
"strikeout": 1.0009
},
"savant_pitcher_quality_adjustment": {
"applied": true,
"pitcher_id": "669330",
"profile": {
"available": true,
"pitcher_id": "669330",
"player_name": "",
"source": "all_players_stats.csv embedded Savant pitcher features",
"source_url": null,
"metrics": {
"pa": 92.0,
"k_percent": 24.3,
"bb_percent": 5.8,
"woba": 0.308,
"xwoba": 0.306,
"sweet_spot_percent": 36.6,
"barrel_batted_rate": 7.0,
"hard_hit_percent": 36.6,
"avg_best_speed": 79.2884,
"avg_hyper_speed": 93.5335,
"whiff_percent": 27.7,
"swing_percent": 50.4
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.0099,
"command_and_miss": 0.3793,
"regression_edge": 0.0571,
"xwoba_edge": 0.0857,
"barrel_edge": 0.0667,
"hard_hit_edge": 0.2714,
"whiff_edge": 0.2571,
"bb_edge": 0.9,
"pitch_design_score": -0.0223
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "669330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 89.28983268406525,
"release_spin_rate": 2410.401443565284,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 24,
"pitch_usage": 0.0,
"release_speed": 89.28983268406525,
"release_spin_rate": 2410.401443565284,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2898,
"release_spin_rate": 2410.4014,
"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.0223,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1591,
"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.0486,
"sample_weight": 0.45,
"run_prevention_factor": 0.9959,
"strikeout_factor": 1.009,
"walk_factor": 0.9676,
"homer_factor": 0.9916,
"woba_minus_xwoba": 0.002,
"regression_flag": "neutral",
"espn_rank": {
"available": true,
"player_id": "669330",
"espn_id": 4717904,
"player_name": "Tyler Wells",
"team": "BAL",
"role": "pitcher",
"espn_rank": 202,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 202,
"gp_value": 19.0,
"gp_rank": 132,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 3.1973,
"era_rank": null,
"w_value": 0.0,
"w_rank": 361,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 7.0,
"hld_rank": 29,
"ip_value": 25.1,
"ip_rank": 204,
"h_value": 23.0,
"h_rank": 205,
"er_value": 9.0,
"er_rank": 266,
"hr_value": 3.0,
"hr_rank": 186,
"bb_value": 6.0,
"bb_rank": 371,
"k_value": 25.0,
"k_rank": 217,
"k_per_9_value": 8.881579,
"k_per_9_rank": 28,
"whip_value": 1.1447,
"whip_rank": null,
"war_value": 0.35,
"war_rank": null
},
"source": "espn_statistics_byathlete"
}
},
"adjusted_fields": {
"predicted_ER": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_H": {
"original": 0.0,
"factor": 0.9982,
"adjusted": 0
},
"predicted_BB": {
"original": 0.0,
"factor": 0.9854,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 0.9962,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.004,
"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": 3,
"H": 11,
"BB": 2,
"SO": 14,
"HR": 1,
"ERA": 1.8837209302325584,
"WHIP": 0.9069767441860466,
"K9": 8.790697674418606,
"HR9": 0.627906976744186,
"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-25T00:00:00"
}{
"available": true,
"pitcher_id": "669330",
"player_name": null,
"source": "all_players_stats.csv embedded Savant pitcher movement features",
"total_pitches": 24,
"primary_pitch": {
"pitch_type": null,
"pitch_name": null,
"pitches": 24,
"pitch_usage": 0.0,
"release_speed": 89.28983268406525,
"release_spin_rate": 2410.401443565284,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 24,
"pitch_usage": 0.0,
"release_speed": 89.28983268406525,
"release_spin_rate": 2410.401443565284,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.2898,
"release_spin_rate": 2410.4014,
"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.0223,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": -0.1591,
"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.997,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4998,
"prior_weight": 0.5002
},
"role": "pitcher",
"player_id": "669330",
"report_date": "20260528_T",
"season_year": 2026,
"rows_used": 19,
"reference_playing_time": 1.0,
"windows": {
"last_5": {
"games": 5,
"totals": {
"IP": 7.0,
"ER": 2.0,
"R": 4.0,
"H": 5.0,
"BB": 2.0,
"SO": 7.0,
"HR": 1.0,
"BF": 27.0,
"Pitches": 120.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4,
"R": 0.8,
"H": 1.0,
"BB": 0.4,
"SO": 1.4,
"HR": 0.2,
"BF": 5.4,
"Pitches": 24.0
},
"rates": {
"ERA": 2.5714,
"WHIP": 1.0,
"ER_per_IP": 0.28571,
"H_per_IP": 0.71429,
"BB_per_IP": 0.28571,
"SO_per_IP": 1.0,
"HR_per_IP": 0.14286
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 14.1,
"ER": 3.0,
"R": 5.0,
"H": 11.0,
"BB": 2.0,
"SO": 14.0,
"HR": 1.0,
"BF": 54.0,
"Pitches": 217.0
},
"per_game": {
"IP": 1.1,
"ER": 0.3,
"R": 0.5,
"H": 1.1,
"BB": 0.2,
"SO": 1.4,
"HR": 0.1,
"BF": 5.4,
"Pitches": 21.7
},
"rates": {
"ERA": 1.8837,
"WHIP": 0.907,
"ER_per_IP": 0.2093,
"H_per_IP": 0.76744,
"BB_per_IP": 0.13953,
"SO_per_IP": 0.97674,
"HR_per_IP": 0.06977
}
},
"season": {
"games": 19,
"totals": {
"IP": 25.1,
"ER": 9.0,
"R": 12.0,
"H": 23.0,
"BB": 6.0,
"SO": 25.0,
"HR": 3.0,
"BF": 103.0,
"Pitches": 409.0
},
"per_game": {
"IP": 1.1,
"ER": 0.4737,
"R": 0.6316,
"H": 1.2105,
"BB": 0.3158,
"SO": 1.3158,
"HR": 0.1579,
"BF": 5.4211,
"Pitches": 21.5263
},
"rates": {
"ERA": 3.1974,
"WHIP": 1.1447,
"ER_per_IP": 0.35526,
"H_per_IP": 0.90789,
"BB_per_IP": 0.23684,
"SO_per_IP": 0.98684,
"HR_per_IP": 0.11842
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.434,
"predicted_H": 1.0,
"predicted_BB": 0.346,
"predicted_SO": 1.128,
"predicted_HR": 0.142,
"predicted_ERA": 3.3489,
"predicted_WHIP": 1.1543
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5613,
"form_weight": 0.4387,
"form_reliability": 0.4998,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 4.997,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4998,
"prior_weight": 0.5002
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 2.0,
"form": 0.434,
"final": 1.313,
"source": "model_form_blend"
},
"predicted_H": {
"model": 3.0,
"form": 1.0,
"final": 2.1227,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.346,
"final": 0.7131,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 2.0,
"form": 1.128,
"final": 1.6175,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.142,
"final": 0.0623,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.3489,
"final": 3.3489,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 1.1543,
"final": 1.1543,
"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.0820 |
| ESPN Rank | 103 |
| Movement Available | True |
| Primary Pitch | - |
| Movement Score | 0.1254 |
| Avg Velo | 91.9274 |
| Avg Spin | 1937.3761 |
| HB Inches | 0 |
| IVB Inches | 0 |
| Release Extension | 0 |
| Pre IP | 1.1000 |
| Pre ER | 1 |
| Pre H | 1 |
| Pre BB | 1 |
| Pre SO | 0 |
| Season ERA | 1.3966 |
| Season WHIP | 0.5172 |
| Role Avg IP | - |
| Recent Avg IP | - |
| Last Start IP | - |
{
"method": "team_form_snapshot",
"role": "pitcher",
"team": {
"team": "BAL",
"games": 65,
"wins": 31,
"losses": 34,
"win_pct": 0.4769,
"runs_scored": 287.0,
"runs_allowed": 316.0,
"run_differential": -29.0,
"run_differential_per_game": -0.4462,
"avg_runs_scored": 4.4154,
"avg_runs_allowed": 4.8615,
"offense_index": 0.9982,
"defense_index": 0.9098,
"current_streak": "W3",
"recent": {
"games": 10,
"wins": 5,
"losses": 5,
"win_pct": 0.5,
"avg_runs_scored": 4.9,
"avg_runs_allowed": 4.6,
"run_differential": 3.0
},
"available": true,
"quality_score": -0.0751
},
"opponent": {
"team": "TOR",
"games": 62,
"wins": 30,
"losses": 32,
"win_pct": 0.4839,
"runs_scored": 258.0,
"runs_allowed": 243.0,
"run_differential": 15.0,
"run_differential_per_game": 0.2419,
"avg_runs_scored": 4.1613,
"avg_runs_allowed": 3.9194,
"offense_index": 0.9408,
"defense_index": 1.1286,
"current_streak": "W2",
"recent": {
"games": 10,
"wins": 6,
"losses": 4,
"win_pct": 0.6,
"avg_runs_scored": 3.8,
"avg_runs_allowed": 3.1,
"run_differential": 7.0
},
"available": true,
"quality_score": 0.0514
},
"edges": {
"quality_edge": -0.1265,
"offense_edge": -0.0018,
"opponent_offense_edge": -0.0592,
"defense_strength": -0.0902,
"opponent_defense_weakness": -0.1286,
"recent_win_pct_edge": -0.1
},
"player_factors": {
"ip": 0.9946,
"run_prevention": 1.0059,
"strikeout": 1.0009
},
"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": 67.0,
"k_percent": 23.9,
"bb_percent": 4.5,
"woba": 0.165,
"xwoba": 0.299,
"sweet_spot_percent": 25.5,
"barrel_batted_rate": 10.6,
"hard_hit_percent": 42.6,
"avg_best_speed": 78.4213,
"avg_hyper_speed": 93.9992,
"whiff_percent": 28.0,
"swing_percent": 46.5
},
"league_medians": {
"pa": 74.0,
"k_percent": 22.6,
"bb_percent": 9.4,
"woba": 0.309,
"xwoba": 0.309,
"sweet_spot_percent": 32.8,
"barrel_batted_rate": 7.3,
"hard_hit_percent": 38.5,
"avg_best_speed": 77.999,
"avg_hyper_speed": 94.0247,
"whiff_percent": 25.9,
"swing_percent": 47.1
},
"components": {
"contact_quality": 0.4635,
"command_and_miss": 0.4336,
"regression_edge": -2.0,
"xwoba_edge": 0.2857,
"barrel_edge": -0.7333,
"hard_hit_edge": -0.5857,
"whiff_edge": 0.3,
"bb_edge": 1.225,
"pitch_design_score": 0.1254
},
"pitch_movement_profile": {
"available": true,
"pitcher_id": "666974",
"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": 91.9274375979531,
"release_spin_rate": 1937.3760682039613,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.9274375979531,
"release_spin_rate": 1937.3760682039613,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9274,
"release_spin_rate": 1937.3761,
"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.1254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8959,
"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.082,
"sample_weight": 0.45,
"run_prevention_factor": 0.993,
"strikeout_factor": 1.0087,
"walk_factor": 0.9559,
"homer_factor": 1.0331,
"woba_minus_xwoba": -0.134,
"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": 103,
"espn_total_ranked": 650,
"metrics": {
"espn_rank": 103,
"gp_value": 25.0,
"gp_rank": 26,
"gs_value": 0.0,
"gs_rank": 262,
"qs_value": 0.0,
"qs_rank": 166,
"era_value": 1.862,
"era_rank": null,
"w_value": 1.0,
"w_rank": 229,
"l_value": 1.0,
"l_rank": 219,
"sv_value": 0.0,
"sv_rank": 145,
"hld_value": 4.0,
"hld_rank": 88,
"ip_value": 19.1,
"ip_rank": 320,
"h_value": 10.0,
"h_rank": 416,
"er_value": 4.0,
"er_rank": 452,
"hr_value": 1.0,
"hr_rank": 350,
"bb_value": 4.0,
"bb_rank": 444,
"k_value": 16.0,
"k_rank": 335,
"k_per_9_value": 7.448276,
"k_per_9_rank": 28,
"whip_value": 0.7241,
"whip_rank": null,
"war_value": 0.74,
"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": 0.9802,
"adjusted": 0
},
"predicted_HR": {
"original": 0.0,
"factor": 1.0149,
"adjusted": 0
},
"predicted_SO": {
"original": 2.0,
"factor": 1.0039,
"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": 1,
"H": 2,
"BB": 2,
"SO": 5,
"HR": 0,
"ERA": 1.0384615384615385,
"WHIP": 0.46153846153846156,
"K9": 5.1923076923076925,
"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-05-27T00:00:00"
}{
"available": true,
"pitcher_id": "666974",
"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": 91.9274375979531,
"release_spin_rate": 1937.3760682039613,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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": 91.9274375979531,
"release_spin_rate": 1937.3760682039613,
"spin_axis": null,
"horizontal_break_inches": 0.0,
"induced_vertical_break_inches": 0.0,
"vertical_break_with_gravity_inches": null,
"release_pos_x": null,
"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.9274,
"release_spin_rate": 1937.3761,
"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.1254,
"horizontal_break_edge": 0.0,
"induced_vertical_break_edge": 0.0,
"extension_edge": 0.0,
"velocity_edge": 0.8959,
"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.813,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4327,
"prior_weight": 0.5673
},
"role": "pitcher",
"player_id": "666974",
"report_date": "20260528_T",
"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": 0.0,
"BB": 2.0,
"SO": 5.0,
"HR": 0.0,
"BF": 15.0,
"Pitches": 60.0
},
"per_game": {
"IP": 1.0,
"ER": 0.2,
"R": 0.2,
"H": 0.0,
"BB": 0.4,
"SO": 1.0,
"HR": 0.0,
"BF": 3.0,
"Pitches": 12.0
},
"rates": {
"ERA": 2.0769,
"WHIP": 0.4615,
"ER_per_IP": 0.23077,
"H_per_IP": 0.0,
"BB_per_IP": 0.46154,
"SO_per_IP": 1.15385,
"HR_per_IP": 0.0
}
},
"last_10": {
"games": 10,
"totals": {
"IP": 9.2,
"ER": 1.0,
"R": 1.0,
"H": 2.0,
"BB": 2.0,
"SO": 7.0,
"HR": 0.0,
"BF": 32.0,
"Pitches": 120.0
},
"per_game": {
"IP": 1.0,
"ER": 0.1,
"R": 0.1,
"H": 0.2,
"BB": 0.2,
"SO": 0.7,
"HR": 0.0,
"BF": 3.2,
"Pitches": 12.0
},
"rates": {
"ERA": 0.931,
"WHIP": 0.4138,
"ER_per_IP": 0.10345,
"H_per_IP": 0.2069,
"BB_per_IP": 0.2069,
"SO_per_IP": 0.72414,
"HR_per_IP": 0.0
}
},
"season": {
"games": 24,
"totals": {
"IP": 19.1,
"ER": 3.0,
"R": 3.0,
"H": 7.0,
"BB": 3.0,
"SO": 16.0,
"HR": 1.0,
"BF": 67.0,
"Pitches": 254.0
},
"per_game": {
"IP": 0.2,
"ER": 0.125,
"R": 0.125,
"H": 0.2917,
"BB": 0.125,
"SO": 0.6667,
"HR": 0.0417,
"BF": 2.7917,
"Pitches": 10.5833
},
"rates": {
"ERA": 1.3966,
"WHIP": 0.5172,
"ER_per_IP": 0.15517,
"H_per_IP": 0.36207,
"BB_per_IP": 0.15517,
"SO_per_IP": 0.82759,
"HR_per_IP": 0.05172
}
}
},
"weighted_prediction": {
"predicted_IP": 1.0,
"predicted_ER": 0.332,
"predicted_H": 0.58,
"predicted_BB": 0.334,
"predicted_SO": 0.914,
"predicted_HR": 0.077,
"predicted_ERA": 3.0723,
"predicted_WHIP": 0.9417
}
}{
"requested_model_weight": 0.35,
"requested_form_weight": 0.65,
"model_weight": 0.5897,
"form_weight": 0.4103,
"form_reliability": 0.4327,
"form_shrinkage": {
"method": "bayesian_league_prior",
"sample_size": 3.813,
"sample_unit": "starter_equivalent_games",
"prior_size": 5.0,
"data_weight": 0.4327,
"prior_weight": 0.5673
},
"applied_metrics": {
"predicted_IP": {
"model": 1.0,
"form": 1.0,
"final": 1.0,
"source": "model_form_blend"
},
"predicted_ER": {
"model": 1.0,
"form": 0.332,
"final": 0.7259,
"source": "model_form_blend"
},
"predicted_H": {
"model": 2.0,
"form": 0.58,
"final": 1.4174,
"source": "model_form_blend"
},
"predicted_BB": {
"model": 1.0,
"form": 0.334,
"final": 0.7267,
"source": "model_form_blend"
},
"predicted_SO": {
"model": 0.0,
"form": 0.914,
"final": 0.375,
"source": "model_form_blend"
},
"predicted_HR": {
"model": 0.0,
"form": 0.077,
"final": 0.0316,
"source": "model_form_blend"
},
"predicted_ERA": {
"model": null,
"form": 3.0723,
"final": 3.0723,
"source": "form_only"
},
"predicted_WHIP": {
"model": null,
"form": 0.9417,
"final": 0.9417,
"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.213 | 0.000 | 0.000 | Hitting_2B | 0.213 | 0.000 | -0.213 | 0.000 |
| predicted_3B | 0.020 | 0.000 | 0.000 | Hitting_3B | 0.020 | 0.000 | -0.020 | 0.000 |
| predicted_AB | 4.780 | 4.000 | 11.000 | Hitting_AB | 4.281 | 4.000 | -0.281 | 0.000 |
| predicted_AVG | 0.224 | 0.000 | 0.182 | Hitting_AVG | 0.214 | 0.500 | -0.214 | -0.500 |
| predicted_BB | 0.281 | 1.000 | 1.000 | Hitting_BB | 0.281 | 0.000 | 0.719 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.064 | 0.000 | -0.064 | 0.000 |
| predicted_H | 1.070 | 0.000 | 2.000 | Hitting_H | 0.916 | 2.000 | -0.916 | -2.000 |
| predicted_HR | 0.220 | 0.000 | 1.000 | Hitting_HR | 0.217 | 2.000 | -0.217 | -2.000 |
| predicted_OBP | 0.292 | 0.200 | 0.250 | Hitting_OBP | 0.268 | 0.500 | -0.068 | -0.300 |
| predicted_R | 0.526 | 0.000 | 2.000 | Hitting_R | 0.526 | 2.000 | -0.526 | -2.000 |
| predicted_RBI | 0.570 | 0.000 | 2.000 | Hitting_RBI | 0.538 | 3.000 | -0.538 | -3.000 |
| predicted_SLG | 0.435 | 0.000 | 0.455 | Hitting_SLG | 0.425 | 2.000 | -0.425 | -2.000 |
| predicted_SO | 1.313 | 1.000 | 3.000 | Hitting_SO | 1.313 | 1.000 | -0.313 | 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.2810 -> 1.0000 (boost 0.7190, better) |
| Biggest Deboost | predicted_H: 1.0700 -> 0.0000 (deboost -1.0700, 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.7800 -> 10.7520 (boost 5.9720, 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.4947 -> 0.5224 (boost 0.0277, better) | predicted_RBI: 1.8419 -> 1.7852 (deboost -0.0567, 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 | 4 | 3 | predicted_BB: 0.6017 -> 1.0000 (boost 0.3983, better) | predicted_2B: 0.4555 -> 0.0000 (deboost -0.4555, worse) | AB rounded to 11 (raw=10.75), rates preserved: AVG=0.227 HR/AB=0.082 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 1.5950 -> 2.0000 (boost 0.4050, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.5224 -> 0.4550 (deboost -0.0674, 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: 11.0000 -> 4.0000 (deboost -7.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.4550 -> 0.5224 (boost 0.0674, better) | - | 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.213,
"predicted_3B": 0.02,
"predicted_AB": 4.78,
"predicted_AVG": 0.224,
"predicted_BB": 0.281,
"predicted_H": 1.07,
"predicted_HR": 0.22,
"predicted_OBP": 0.292,
"predicted_R": 0.526,
"predicted_RBI": 0.57,
"predicted_SLG": 0.435,
"predicted_SO": 1.313
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4555,
"predicted_3B": 0.0426,
"predicted_AB": 10.752,
"predicted_AVG": 0.2283,
"predicted_BB": 0.6041,
"predicted_H": 2.4862,
"predicted_HBP": 0.205,
"predicted_HR": 0.8962,
"predicted_OBP": 0.2874,
"predicted_R": 1.6457,
"predicted_RBI": 1.8419,
"predicted_SLG": 0.4947,
"predicted_SO": 3.0297
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.213,
"after": 0.4555,
"delta": 0.2425,
"percent_delta": 1.1385,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.02,
"after": 0.0426,
"delta": 0.0226,
"percent_delta": 1.13,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.78,
"after": 10.752,
"delta": 5.972,
"percent_delta": 1.2494,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.2283,
"delta": 0.0043,
"percent_delta": 0.0192,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.281,
"after": 0.6041,
"delta": 0.3231,
"percent_delta": 1.1498,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 2.4862,
"delta": 1.4162,
"percent_delta": 1.3236,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.22,
"after": 0.8962,
"delta": 0.6762,
"percent_delta": 3.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.292,
"after": 0.2874,
"delta": -0.0046,
"percent_delta": -0.0158,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 1.6457,
"delta": 1.1197,
"percent_delta": 2.1287,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.57,
"after": 1.8419,
"delta": 1.2719,
"percent_delta": 2.2314,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.435,
"after": 0.4947,
"delta": 0.0597,
"percent_delta": 0.1372,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.313,
"after": 3.0297,
"delta": 1.7167,
"percent_delta": 1.3075,
"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.78,
"after": 10.752,
"delta": 5.972,
"percent_delta": 1.2494,
"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": 3,
"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.4555,
"predicted_3B": 0.0426,
"predicted_AB": 10.752,
"predicted_AVG": 0.227,
"predicted_BB": 0.6017,
"predicted_H": 2.4402,
"predicted_HBP": 0.205,
"predicted_HR": 0.8788,
"predicted_OBP": 0.2679,
"predicted_R": 1.595,
"predicted_RBI": 1.7852,
"predicted_SLG": 0.5224,
"predicted_SO": 3.0415
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4555,
"after": 0.4555,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0426,
"after": 0.0426,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.752,
"after": 10.752,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2283,
"after": 0.227,
"delta": -0.0013,
"percent_delta": -0.0057,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.6041,
"after": 0.6017,
"delta": -0.0024,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.4862,
"after": 2.4402,
"delta": -0.046,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.205,
"after": 0.205,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.8962,
"after": 0.8788,
"delta": -0.0174,
"percent_delta": -0.0194,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2874,
"after": 0.2679,
"delta": -0.0195,
"percent_delta": -0.0678,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.6457,
"after": 1.595,
"delta": -0.0507,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.8419,
"after": 1.7852,
"delta": -0.0567,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.4947,
"after": 0.5224,
"delta": 0.0277,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0297,
"after": 3.0415,
"delta": 0.0118,
"percent_delta": 0.0039,
"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.4947,
"after": 0.5224,
"delta": 0.0277,
"percent_delta": 0.056,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_RBI",
"before": 1.8419,
"after": 1.7852,
"delta": -0.0567,
"percent_delta": -0.0308,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 11 (raw=10.75), rates preserved: AVG=0.227 HR/AB=0.082",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 11.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.4555,
"after": 0.0,
"delta": -0.4555,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0426,
"after": 0.0,
"delta": -0.0426,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 10.752,
"after": 11.0,
"delta": 0.248,
"percent_delta": 0.0231,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6017,
"after": 1.0,
"delta": 0.3983,
"percent_delta": 0.662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.4402,
"after": 2.0,
"delta": -0.4402,
"percent_delta": -0.1804,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.205,
"after": 0.0,
"delta": -0.205,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.8788,
"after": 1.0,
"delta": 0.1212,
"percent_delta": 0.1379,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.7852,
"after": 2.0,
"delta": 0.2148,
"percent_delta": 0.1203,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 3.0415,
"after": 3.0,
"delta": -0.0415,
"percent_delta": -0.0136,
"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_BB",
"before": 0.6017,
"after": 1.0,
"delta": 0.3983,
"percent_delta": 0.662,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4555,
"after": 0.0,
"delta": -0.4555,
"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.000)",
"stats": {
"predicted_2B": 0.0,
"predicted_3B": 0.0,
"predicted_AB": 11.0,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_RBI": 2.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": 11.0,
"after": 11.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": 2.0,
"after": 2.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.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": 11.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": 11.0,
"after": 11.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.595,
"after": 2.0,
"delta": 0.405,
"percent_delta": 0.2539,
"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.595,
"after": 2.0,
"delta": 0.405,
"percent_delta": 0.2539,
"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": 11.0,
"predicted_AVG": 0.182,
"predicted_BB": 1.0,
"predicted_H": 2.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.25,
"predicted_R": 2.0,
"predicted_RBI": 2.0,
"predicted_SLG": 0.455,
"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": 11.0,
"after": 11.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.227,
"after": 0.182,
"delta": -0.045,
"percent_delta": -0.1982,
"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.2679,
"after": 0.25,
"delta": -0.0179,
"percent_delta": -0.0668,
"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.5224,
"after": 0.455,
"delta": -0.0674,
"percent_delta": -0.129,
"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.5224,
"after": 0.455,
"delta": -0.0674,
"percent_delta": -0.129,
"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": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 11.0,
"after": 4.0,
"delta": -7.0,
"percent_delta": -0.6364,
"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": 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": 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": 11.0,
"after": 4.0,
"delta": -7.0,
"percent_delta": -0.6364,
"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.227,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2679,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5224,
"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.182,
"after": 0.227,
"delta": 0.045,
"percent_delta": 0.247,
"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.2679,
"delta": 0.0179,
"percent_delta": 0.0717,
"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.455,
"after": 0.5224,
"delta": 0.0674,
"percent_delta": 0.1482,
"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.455,
"after": 0.5224,
"delta": 0.0674,
"percent_delta": 0.1482,
"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.213,
"after": 0.0,
"delta": -0.213,
"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.78,
"after": 4.0,
"delta": -0.78,
"percent_delta": -0.1632,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.224,
"after": 0.227,
"delta": 0.003,
"percent_delta": 0.0134,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.281,
"after": 1.0,
"delta": 0.719,
"percent_delta": 2.5587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"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.292,
"after": 0.2679,
"delta": -0.0241,
"percent_delta": -0.0825,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.526,
"after": 0.0,
"delta": -0.526,
"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.435,
"after": 0.5224,
"delta": 0.0874,
"percent_delta": 0.2009,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.313,
"after": 1.0,
"delta": -0.313,
"percent_delta": -0.2384,
"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.281,
"after": 1.0,
"delta": 0.719,
"percent_delta": 2.5587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 1.07,
"after": 0.0,
"delta": -1.07,
"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.213 | - |
| predicted_3B | 0.020 | - |
| predicted_AB | 4.780 | - |
| predicted_AVG | 0.224 | - |
| predicted_BB | 0.281 | - |
| predicted_H | 1.070 | - |
| predicted_HR | 0.220 | - |
| predicted_OBP | 0.292 | - |
| predicted_R | 0.526 | - |
| predicted_RBI | 0.570 | - |
| predicted_SLG | 0.435 | - |
| predicted_SO | 1.313 | - |
Final model 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.456 | 0.243 |
| predicted_3B | 0.043 | 0.023 |
| predicted_AB | 10.752 | 5.972 |
| predicted_AVG | 0.228 | 0.004 |
| predicted_BB | 0.604 | 0.323 |
| predicted_H | 2.486 | 1.416 |
| predicted_HBP | 0.205 | - |
| predicted_HR | 0.896 | 0.676 |
| predicted_OBP | 0.287 | -0.005 |
| predicted_R | 1.646 | 1.120 |
| predicted_RBI | 1.842 | 1.272 |
| predicted_SLG | 0.495 | 0.060 |
| predicted_SO | 3.030 | 1.717 |
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.456 | 0.000 |
| predicted_3B | 0.043 | 0.000 |
| predicted_AB | 10.752 | 0.000 |
| predicted_AVG | 0.227 | -0.001 |
| predicted_BB | 0.602 | -0.002 |
| predicted_H | 2.440 | -0.046 |
| predicted_HBP | 0.205 | 0.000 |
| predicted_HR | 0.879 | -0.017 |
| predicted_OBP | 0.268 | -0.019 |
| predicted_R | 1.595 | -0.051 |
| predicted_RBI | 1.785 | -0.057 |
| predicted_SLG | 0.522 | 0.028 |
| predicted_SO | 3.042 | 0.012 |
AB rounded to 11 (raw=10.75), rates preserved: AVG=0.227 HR/AB=0.082
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | - |
| 3B | 0.000 | - |
| AB | 11.000 | - |
| BB | 1.000 | - |
| H | 2.000 | - |
| HBP | 0.000 | - |
| HR | 1.000 | - |
| RBI | 2.000 | - |
| SB | 0.000 | - |
| SO | 3.000 | - |
Sample-size BvP blend (BvP AB=10.0, weight=0.100, BvP AVG=0.000)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 11.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 1.000 | 0.000 |
| RBI | 2.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 | 11.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.456 |
| predicted_3B | 0.000 | -0.043 |
| predicted_AB | 11.000 | 0.248 |
| predicted_AVG | 0.182 | -0.045 |
| predicted_BB | 1.000 | 0.398 |
| predicted_H | 2.000 | -0.440 |
| predicted_HR | 1.000 | 0.121 |
| predicted_OBP | 0.250 | -0.018 |
| predicted_R | 2.000 | 0.405 |
| predicted_RBI | 2.000 | 0.215 |
| predicted_SLG | 0.455 | -0.067 |
| predicted_SO | 3.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 | 4.000 | -7.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | 0.000 |
| H | 0.000 | -2.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.000 |
| PA | 5.000 | - |
| R | 0.000 | -2.000 |
| RBI | 0.000 | -2.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 | 2 | - | 20.000 | 8.000 | 0.000 | 0.000 | 8.000 | 12.000 | 9.000 | 0.000 | 4.000 | 0.4000 | 0.4000 | 1.6000 | 0.4000 | 0.4000 | 0.6000 | 0.0000 | 0.2000 |
| last_10 | 0.20 | 3 | - | 42.000 | 8.000 | 0.000 | 0.000 | 8.000 | 14.000 | 12.000 | 0.000 | 6.000 | 0.1905 | 0.2273 | 0.7619 | 0.1905 | 0.1905 | 0.3333 | 0.0000 | 0.1429 |
| season | 0.60 | 53 | - | 1066.000 | 228.000 | 53.000 | 5.000 | 54.000 | 134.000 | 131.000 | 70.000 | 327.000 | 0.2139 | 0.2685 | 0.4250 | 0.2139 | 0.0507 | 0.1257 | 0.0657 | 0.3068 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7610 |
| predicted_3B | 0.0710 |
| predicted_AB | 18.2740 |
| predicted_AVG | 0.2337 |
| predicted_BB | 1.0110 |
| predicted_H | 4.2700 |
| predicted_HBP | 0.2050 |
| predicted_HR | 1.7480 |
| predicted_OBP | 0.2817 |
| predicted_R | 3.0560 |
| predicted_RBI | 3.4440 |
| predicted_SLG | 0.5700 |
| predicted_SO | 5.1920 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2130 | 0.7610 | 0.4555 | model_form_blend |
| predicted_3B | 0.0200 | 0.0710 | 0.0426 | model_form_blend |
| predicted_AB | 4.7800 | 18.2740 | 10.7520 | model_form_blend |
| predicted_AVG | 0.2240 | 0.2337 | 0.2283 | model_form_blend |
| predicted_BB | 0.2810 | 1.0110 | 0.6041 | model_form_blend |
| predicted_H | 1.0700 | 4.2700 | 2.4862 | model_form_blend |
| predicted_HBP | - | 0.2050 | 0.2050 | form_only |
| predicted_HR | 0.2200 | 1.7480 | 0.8962 | model_form_blend |
| predicted_OBP | 0.2920 | 0.2817 | 0.2874 | model_form_blend |
| predicted_R | 0.5260 | 3.0560 | 1.6457 | model_form_blend |
| predicted_RBI | 0.5700 | 3.4440 | 1.8419 | model_form_blend |
| predicted_SLG | 0.4350 | 0.5700 | 0.4947 | model_form_blend |
| predicted_SO | 1.3130 | 5.1920 | 3.0297 | 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 | 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.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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 2 |
| Hitting_IBB | 0 |
| Hitting_R | 2 |
| Hitting_RBI | 3 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 1 |
| Hitting_TB | 8 |
| 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 | 20260527_TB@BAL |
| game_type | full |
| mlbID | 683002 |
| playerID | 683002 |
| playerName | Gunnar Henderson |
| pos | SS |
| started | True |
| startingPosition | SS |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 27.8 |
| sl_bb_percent | 6.0 |
| sl_woba | 0.301 |
| sl_xwoba | 0.292 |
| sl_xba | 0.226 |
| sl_xslg | 0.387 |
| sl_sweet_spot_percent | 28.4 |
| sl_barrel_batted_rate | 9.3 |
| sl_hard_hit_percent | 43.8 |
| sl_exit_velocity_avg | 89.5 |
| sl_launch_angle_avg | 13.2 |
| sl_whiff_percent | 26.0 |
| sl_swing_percent | 49.9 |
| at_bat_number | 54.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 6.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 8.0 |
| ab_fld_score_start | 1.0 |
| ab_event | home_run |
| ab_event_description | Gunnar Henderson homers (13) on a fly ball to right center field. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 8.0 |
| ab_launch_speed_last | 109.9 |
| ab_launch_angle_last | 25.0 |
| ab_hit_distance_last | 419.0 |
| ab_estimated_ba_last | 0.989 |
| ab_estimated_woba_last | 1.998 |
| ab_estimated_slg_last | 3.912 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 1.0 |
| ab_home_score_end | 9.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 9.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 86.69999999999999 |
| ab_release_spin_rate_avg | 1606.0 |
| ab_effective_speed_avg | 86.55000000000001 |
| ab_launch_speed_avg | 109.9 |
| ab_launch_angle_avg | 25.0 |
| ab_delta_run_exp_avg | 0.557 |
| ab_delta_home_win_exp_avg | 0.0015 |
| ab_delta_pitcher_run_exp_avg | -0.557 |
| ab_bat_speed_avg | 76.0 |
| ab_swing_length_avg | 7.300000000000001 |
| ab_launch_speed_max | 109.9 |
| ab_hit_distance_sc_max | 419.0 |
| ab_release_speed_max | 90.3 |
| ab_release_spin_rate_max | 2088.0 |
| ab_release_speed_min | 83.1 |
| ab_release_spin_rate_min | 1124.0 |
| ab_delta_run_exp_sum | 1.114 |
| ab_delta_home_win_exp_sum | 0.003 |
| ab_delta_pitcher_run_exp_sum | -1.114 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.234 | 1.000 | 1.000 | Hitting_2B | 0.234 | 0.000 | 0.766 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.090 | 5.000 | 10.000 | Hitting_AB | 3.828 | 5.000 | 1.172 | 0.000 |
| predicted_AVG | 0.245 | 0.400 | 0.300 | Hitting_AVG | 0.240 | 0.200 | 0.160 | 0.200 |
| predicted_BB | 0.473 | 0.000 | 1.000 | Hitting_BB | 0.473 | 0.000 | -0.473 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.000 | 2.000 | 3.000 | Hitting_H | 0.921 | 1.000 | 1.079 | 1.000 |
| predicted_HR | 0.180 | 0.000 | 1.000 | Hitting_HR | 0.167 | 0.000 | -0.167 | 0.000 |
| predicted_OBP | 0.337 | 0.400 | 0.364 | Hitting_OBP | 0.324 | 0.200 | 0.076 | 0.200 |
| predicted_R | 0.552 | 1.000 | 1.000 | Hitting_R | 0.552 | 1.000 | 0.448 | 0.000 |
| predicted_RBI | 0.690 | 0.000 | 1.000 | Hitting_RBI | 0.615 | 0.000 | -0.615 | 0.000 |
| predicted_SLG | 0.447 | 0.600 | 0.700 | Hitting_SLG | 0.433 | 0.200 | 0.167 | 0.400 |
| predicted_SO | 1.017 | 0.000 | 2.000 | Hitting_SO | 1.017 | 0.000 | -1.017 | 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: 1.0000 -> 2.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_SO: 1.0170 -> 0.0000 (deboost -1.0170, 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: 4.0900 -> 9.6590 (boost 5.5690, better) | predicted_SLG: 0.4470 -> 0.4233 (deboost -0.0237, 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.4233 -> 0.3963 (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 | 2 | 6 | 3 | 5 | predicted_2B: 0.5062 -> 1.0000 (boost 0.4938, better) | predicted_HR: 0.3615 -> 0.0000 (deboost -0.3615, worse) | AB rounded to 10 (raw=9.66), rates preserved: AVG=0.231 HR/AB=0.037 |
| 5 | bvp_blend | 2 | 2 | 0 | 2 | 0 | predicted_H: 2.0000 -> 3.0000 (boost 1.0000, better) | - | Sample-size BvP blend (BvP AB=52.0, weight=0.250, BvP AVG=0.365) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3469 -> 1.0000 (deboost -0.3469, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 3 | 0 | 3 | 0 | predicted_SLG: 0.3963 -> 0.7000 (boost 0.3037, better) | - | 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: 10.0000 -> 5.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 0 | 3 | 0 | 3 | - | predicted_SLG: 0.7000 -> 0.3963 (deboost -0.3037, worse) | 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.234,
"predicted_3B": 0.0,
"predicted_AB": 4.09,
"predicted_AVG": 0.245,
"predicted_BB": 0.473,
"predicted_H": 1.0,
"predicted_HR": 0.18,
"predicted_OBP": 0.337,
"predicted_R": 0.552,
"predicted_RBI": 0.69,
"predicted_SLG": 0.447,
"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.5062,
"predicted_3B": 0.0009,
"predicted_AB": 9.659,
"predicted_AVG": 0.2397,
"predicted_BB": 1.1127,
"predicted_H": 2.2777,
"predicted_HBP": 0.078,
"predicted_HR": 0.3687,
"predicted_OBP": 0.326,
"predicted_R": 1.3897,
"predicted_RBI": 1.3912,
"predicted_SLG": 0.4233,
"predicted_SO": 2.2947
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.234,
"after": 0.5062,
"delta": 0.2722,
"percent_delta": 1.1632,
"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.09,
"after": 9.659,
"delta": 5.569,
"percent_delta": 1.3616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2397,
"delta": -0.0053,
"percent_delta": -0.0216,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.473,
"after": 1.1127,
"delta": 0.6397,
"percent_delta": 1.3524,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.2777,
"delta": 1.2777,
"percent_delta": 1.2777,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.3687,
"delta": 0.1887,
"percent_delta": 1.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.326,
"delta": -0.011,
"percent_delta": -0.0326,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 1.3897,
"delta": 0.8377,
"percent_delta": 1.5176,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.69,
"after": 1.3912,
"delta": 0.7012,
"percent_delta": 1.0162,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4233,
"delta": -0.0237,
"percent_delta": -0.053,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.017,
"after": 2.2947,
"delta": 1.2777,
"percent_delta": 1.2563,
"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.09,
"after": 9.659,
"delta": 5.569,
"percent_delta": 1.3616,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.447,
"after": 0.4233,
"delta": -0.0237,
"percent_delta": -0.053,
"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": 1,
"last_10": 3,
"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.5062,
"predicted_3B": 0.0009,
"predicted_AB": 9.659,
"predicted_AVG": 0.2314,
"predicted_BB": 1.1084,
"predicted_H": 2.2356,
"predicted_HBP": 0.078,
"predicted_HR": 0.3615,
"predicted_OBP": 0.3106,
"predicted_R": 1.3469,
"predicted_RBI": 1.3484,
"predicted_SLG": 0.3963,
"predicted_SO": 2.3036
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.5062,
"after": 0.5062,
"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": 9.659,
"after": 9.659,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2397,
"after": 0.2314,
"delta": -0.0083,
"percent_delta": -0.0346,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1127,
"after": 1.1084,
"delta": -0.0043,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2777,
"after": 2.2356,
"delta": -0.0421,
"percent_delta": -0.0185,
"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.3687,
"after": 0.3615,
"delta": -0.0072,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.326,
"after": 0.3106,
"delta": -0.0154,
"percent_delta": -0.0472,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.3897,
"after": 1.3469,
"delta": -0.0428,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.3912,
"after": 1.3484,
"delta": -0.0428,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4233,
"after": 0.3963,
"delta": -0.027,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.2947,
"after": 2.3036,
"delta": 0.0089,
"percent_delta": 0.0039,
"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.4233,
"after": 0.3963,
"delta": -0.027,
"percent_delta": -0.0638,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=9.66), rates preserved: AVG=0.231 HR/AB=0.037",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.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.5062,
"after": 1.0,
"delta": 0.4938,
"percent_delta": 0.9755,
"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": 9.659,
"after": 10.0,
"delta": 0.341,
"percent_delta": 0.0353,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.1084,
"after": 1.0,
"delta": -0.1084,
"percent_delta": -0.0978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2356,
"after": 2.0,
"delta": -0.2356,
"percent_delta": -0.1054,
"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.3615,
"after": 0.0,
"delta": -0.3615,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3484,
"after": 1.0,
"delta": -0.3484,
"percent_delta": -0.2584,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.3036,
"after": 2.0,
"delta": -0.3036,
"percent_delta": -0.1318,
"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_2B",
"before": 0.5062,
"after": 1.0,
"delta": 0.4938,
"percent_delta": 0.9755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"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=52.0, weight=0.250, BvP AVG=0.365)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.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": 10.0,
"after": 10.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": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 1.0,
"delta": 1.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 2,
"worse_metrics": 0,
"biggest_boost": {
"metric": "predicted_H",
"before": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"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": 10.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.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": 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": 10.0,
"after": 10.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.3469,
"after": 1.0,
"delta": -0.3469,
"percent_delta": -0.2576,
"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.3469,
"after": 1.0,
"delta": -0.3469,
"percent_delta": -0.2576,
"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": 10.0,
"predicted_AVG": 0.3,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.364,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.7,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2314,
"after": 0.3,
"delta": 0.0686,
"percent_delta": 0.2965,
"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.3106,
"after": 0.364,
"delta": 0.0534,
"percent_delta": 0.1719,
"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.3963,
"after": 0.7,
"delta": 0.3037,
"percent_delta": 0.7663,
"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.3963,
"after": 0.7,
"delta": 0.3037,
"percent_delta": 0.7663,
"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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"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": 10.0,
"after": 5.0,
"delta": -5.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": 3.0,
"after": 2.0,
"delta": -1.0,
"percent_delta": -0.3333,
"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": 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": 10.0,
"after": 5.0,
"delta": -5.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": 5.0,
"predicted_AVG": 0.2314,
"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.3106,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3963,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2314,
"delta": -0.0686,
"percent_delta": -0.2285,
"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.364,
"after": 0.3106,
"delta": -0.0534,
"percent_delta": -0.1468,
"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.7,
"after": 0.3963,
"delta": -0.3037,
"percent_delta": -0.4338,
"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.7,
"after": 0.3963,
"delta": -0.3037,
"percent_delta": -0.4338,
"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.234,
"after": 1.0,
"delta": 0.766,
"percent_delta": 3.2735,
"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.09,
"after": 5.0,
"delta": 0.91,
"percent_delta": 0.2225,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2314,
"delta": -0.0136,
"percent_delta": -0.0555,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.473,
"after": 0.0,
"delta": -0.473,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.18,
"after": 0.0,
"delta": -0.18,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.337,
"after": 0.3106,
"delta": -0.0264,
"percent_delta": -0.0783,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.552,
"after": 1.0,
"delta": 0.448,
"percent_delta": 0.8116,
"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.447,
"after": 0.3963,
"delta": -0.0507,
"percent_delta": -0.1134,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.017,
"after": 0.0,
"delta": -1.017,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 11,
"boosted_metrics": 4,
"deboosted_metrics": 7,
"better_metrics": 5,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_H",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 1.017,
"after": 0.0,
"delta": -1.017,
"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.234 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.090 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.473 | - |
| predicted_H | 1.000 | - |
| predicted_HR | 0.180 | - |
| predicted_OBP | 0.337 | - |
| predicted_R | 0.552 | - |
| predicted_RBI | 0.690 | - |
| predicted_SLG | 0.447 | - |
| 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.506 | 0.272 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.659 | 5.569 |
| predicted_AVG | 0.240 | -0.005 |
| predicted_BB | 1.113 | 0.640 |
| predicted_H | 2.278 | 1.278 |
| predicted_HBP | 0.078 | - |
| predicted_HR | 0.369 | 0.189 |
| predicted_OBP | 0.326 | -0.011 |
| predicted_R | 1.390 | 0.838 |
| predicted_RBI | 1.391 | 0.701 |
| predicted_SLG | 0.423 | -0.024 |
| predicted_SO | 2.295 | 1.278 |
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.506 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.659 | 0.000 |
| predicted_AVG | 0.231 | -0.008 |
| predicted_BB | 1.108 | -0.004 |
| predicted_H | 2.236 | -0.042 |
| predicted_HBP | 0.078 | 0.000 |
| predicted_HR | 0.361 | -0.007 |
| predicted_OBP | 0.311 | -0.015 |
| predicted_R | 1.347 | -0.043 |
| predicted_RBI | 1.348 | -0.043 |
| predicted_SLG | 0.396 | -0.027 |
| predicted_SO | 2.304 | 0.009 |
AB rounded to 10 (raw=9.66), rates preserved: AVG=0.231 HR/AB=0.037
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 10.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=52.0, weight=0.250, BvP AVG=0.365)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.000 | 1.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 | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 10.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 | 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.494 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 10.000 | 0.341 |
| predicted_AVG | 0.300 | 0.069 |
| predicted_BB | 1.000 | -0.108 |
| predicted_H | 3.000 | 0.764 |
| predicted_HR | 1.000 | 0.639 |
| predicted_OBP | 0.364 | 0.053 |
| predicted_R | 1.000 | -0.347 |
| predicted_RBI | 1.000 | -0.348 |
| predicted_SLG | 0.700 | 0.304 |
| predicted_SO | 2.000 | -0.304 |
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 | 5.000 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 2.000 | -1.000 |
| HBP | 0.000 | 0.000 |
| HR | 0.000 | -1.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 | 1 | - | 25.000 | 5.000 | 0.000 | 0.000 | 0.000 | 0.000 | 5.000 | 0.000 | 0.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
| last_10 | 0.20 | 3 | - | 42.000 | 8.000 | 0.000 | 0.000 | 0.000 | 1.000 | 6.000 | 5.000 | 5.000 | 0.1905 | 0.2766 | 0.1905 | 0.1905 | 0.0000 | 0.0238 | 0.1191 | 0.1191 |
| season | 0.60 | 54 | - | 915.000 | 220.000 | 56.000 | 0.000 | 40.000 | 147.000 | 132.000 | 113.000 | 243.000 | 0.2404 | 0.3241 | 0.4328 | 0.2404 | 0.0437 | 0.1607 | 0.1235 | 0.2656 |
| Metric | Value |
|---|---|
| predicted_2B | 0.8500 |
| predicted_3B | 0.0020 |
| predicted_AB | 16.6950 |
| predicted_AVG | 0.2331 |
| predicted_BB | 1.9210 |
| predicted_H | 3.8920 |
| predicted_HBP | 0.0780 |
| predicted_HR | 0.6070 |
| predicted_OBP | 0.3120 |
| predicted_R | 2.4480 |
| predicted_RBI | 2.2770 |
| predicted_SLG | 0.3934 |
| predicted_SO | 3.9090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2340 | 0.8500 | 0.5062 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.0900 | 16.6950 | 9.6590 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2331 | 0.2397 | model_form_blend |
| predicted_BB | 0.4730 | 1.9210 | 1.1127 | model_form_blend |
| predicted_H | 1.0000 | 3.8920 | 2.2777 | model_form_blend |
| predicted_HBP | - | 0.0780 | 0.0780 | form_only |
| predicted_HR | 0.1800 | 0.6070 | 0.3687 | model_form_blend |
| predicted_OBP | 0.3370 | 0.3120 | 0.3260 | model_form_blend |
| predicted_R | 0.5520 | 2.4480 | 1.3897 | model_form_blend |
| predicted_RBI | 0.6900 | 2.2770 | 1.3912 | model_form_blend |
| predicted_SLG | 0.4470 | 0.3934 | 0.4233 | model_form_blend |
| predicted_SO | 1.0170 | 3.9090 | 2.2947 | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 0 |
| 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 | 5 |
| Hitting_AVG | 0.2 |
| Hitting_BB | 0 |
| 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 | 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 | 20260527_TB@BAL |
| game_type | full |
| mlbID | 624413 |
| playerID | 624413 |
| playerName | Pete Alonso |
| pos | 1B |
| started | True |
| startingPosition | 1B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 23.3 |
| sl_bb_percent | 11.0 |
| sl_woba | 0.331 |
| sl_xwoba | 0.364 |
| sl_xba | 0.26 |
| sl_xslg | 0.506 |
| sl_sweet_spot_percent | 33.8 |
| sl_barrel_batted_rate | 13.0 |
| sl_hard_hit_percent | 55.2 |
| sl_exit_velocity_avg | 95.0 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 28.3 |
| sl_swing_percent | 44.4 |
| at_bat_number | 76.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 668939.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 11.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 11.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Pete Alonso grounds out, first baseman Ryan Vilade to second baseman Richie Palacios to pitcher Jonathan Heasley. Adley Rutschman to 3rd. |
| ab_event_type | X |
| ab_bb_type | ground_ball |
| ab_hit_location | 3.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 9.0 |
| ab_launch_speed_last | 79.4 |
| ab_launch_angle_last | -3.0 |
| ab_hit_distance_last | 19.0 |
| ab_estimated_ba_last | 0.099 |
| ab_estimated_woba_last | 0.089 |
| ab_estimated_slg_last | 0.108 |
| 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 | 1.0 |
| ab_home_score_end | 11.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 11.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 3.0 |
| ab_release_speed_avg | 85.33333333333333 |
| ab_release_spin_rate_avg | 1960.6666666666667 |
| ab_effective_speed_avg | 85.66666666666667 |
| ab_launch_speed_avg | 68.85 |
| ab_launch_angle_avg | 25.5 |
| ab_delta_run_exp_avg | -0.079 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.079 |
| ab_bat_speed_avg | 77.45 |
| ab_swing_length_avg | 7.1 |
| ab_launch_speed_max | 79.4 |
| ab_hit_distance_sc_max | 143.0 |
| ab_release_speed_max | 91.0 |
| ab_release_spin_rate_max | 2023.0 |
| ab_release_speed_min | 82.3 |
| ab_release_spin_rate_min | 1908.0 |
| ab_delta_run_exp_sum | -0.237 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.237 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.342 | 0.000 | 1.000 | Hitting_2B | 0.342 | 2.000 | -0.342 | -2.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.200 | 5.000 | 10.000 | Hitting_AB | 3.910 | 4.000 | 1.090 | 1.000 |
| predicted_AVG | 0.240 | 0.200 | 0.300 | Hitting_AVG | 0.269 | 0.750 | -0.069 | -0.550 |
| predicted_BB | 0.400 | 0.000 | 1.000 | Hitting_BB | 0.400 | 1.000 | -0.400 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 1.010 | 1.000 | 3.000 | Hitting_H | 1.052 | 3.000 | -0.052 | -2.000 |
| predicted_HR | 0.150 | 1.000 | 0.000 | Hitting_HR | 0.200 | 0.000 | 0.800 | 1.000 |
| predicted_OBP | 0.331 | 0.200 | 0.364 | Hitting_OBP | 0.340 | 0.800 | -0.140 | -0.600 |
| predicted_R | 0.548 | 1.000 | 1.000 | Hitting_R | 0.548 | 1.000 | 0.452 | 0.000 |
| predicted_RBI | 0.530 | 2.000 | 1.000 | Hitting_RBI | 0.703 | 0.000 | 1.297 | 2.000 |
| predicted_SLG | 0.441 | 0.800 | 0.400 | Hitting_SLG | 0.510 | 1.250 | 0.290 | -0.450 |
| predicted_SO | 0.703 | 1.000 | 2.000 | Hitting_SO | 0.703 | 0.000 | 0.297 | 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.5300 -> 2.0000 (boost 1.4700, better) |
| Biggest Deboost | predicted_BB: 0.4000 -> 0.0000 (deboost -0.4000, 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.2000 -> 9.5374 (boost 5.3374, 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.4886 -> 0.5122 (boost 0.0236, better) | predicted_H: 2.7127 -> 2.6625 (deboost -0.0502, worse) | Step 3: player projection adjusted by team form snapshot (record, run differential, streak, offense, defense, runs allowed) |
| 4 | ab_floor_and_scaling | 7 | 3 | 4 | 2 | 5 | predicted_AB: 9.5374 -> 10.0000 (boost 0.4626, better) | predicted_HR: 0.3968 -> 0.0000 (deboost -0.3968, worse) | AB rounded to 10 (raw=9.54), rates preserved: AVG=0.279 HR/AB=0.042 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=8.0, weight=0.084, BvP AVG=0.375) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.3454 -> 1.0000 (deboost -0.3454, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_AVG: 0.2792 -> 0.3000 (boost 0.0208, better) | predicted_SLG: 0.5122 -> 0.4000 (deboost -0.1122, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 7 | 2 | 5 | 3 | 4 | predicted_HR: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 10.0000 -> 5.0000 (deboost -5.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 1 | 2 | 1 | 2 | predicted_SLG: 0.4000 -> 0.5122 (boost 0.1122, better) | predicted_AVG: 0.3000 -> 0.2792 (deboost -0.0208, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "668939",
"player_name": "Adley Rutschman",
"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.342,
"predicted_3B": 0.0,
"predicted_AB": 4.2,
"predicted_AVG": 0.24,
"predicted_BB": 0.4,
"predicted_H": 1.01,
"predicted_HR": 0.15,
"predicted_OBP": 0.331,
"predicted_R": 0.548,
"predicted_RBI": 0.53,
"predicted_SLG": 0.441,
"predicted_SO": 0.703
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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": 1.0295,
"predicted_3B": 0.0013,
"predicted_AB": 9.5374,
"predicted_AVG": 0.2658,
"predicted_BB": 1.0595,
"predicted_H": 2.7127,
"predicted_HBP": 0.121,
"predicted_HR": 0.4047,
"predicted_OBP": 0.3485,
"predicted_R": 1.3882,
"predicted_RBI": 1.4284,
"predicted_SLG": 0.4886,
"predicted_SO": 1.5979
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.342,
"after": 1.0295,
"delta": 0.6875,
"percent_delta": 2.0102,
"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.2,
"after": 9.5374,
"delta": 5.3374,
"percent_delta": 1.2708,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2658,
"delta": 0.0258,
"percent_delta": 0.1075,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4,
"after": 1.0595,
"delta": 0.6595,
"percent_delta": 1.6488,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.01,
"after": 2.7127,
"delta": 1.7027,
"percent_delta": 1.6858,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.15,
"after": 0.4047,
"delta": 0.2547,
"percent_delta": 1.698,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.3485,
"delta": 0.0175,
"percent_delta": 0.0529,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.548,
"after": 1.3882,
"delta": 0.8402,
"percent_delta": 1.5332,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.53,
"after": 1.4284,
"delta": 0.8984,
"percent_delta": 1.6951,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.4886,
"delta": 0.0476,
"percent_delta": 0.1079,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 1.5979,
"delta": 0.8949,
"percent_delta": 1.273,
"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.2,
"after": 9.5374,
"delta": 5.3374,
"percent_delta": 1.2708,
"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": 1,
"last_10": 2,
"season": 37
}
},
{
"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": 1.0295,
"predicted_3B": 0.0013,
"predicted_AB": 9.5374,
"predicted_AVG": 0.2792,
"predicted_BB": 1.0554,
"predicted_H": 2.6625,
"predicted_HBP": 0.121,
"predicted_HR": 0.3968,
"predicted_OBP": 0.351,
"predicted_R": 1.3454,
"predicted_RBI": 1.3844,
"predicted_SLG": 0.5122,
"predicted_SO": 1.6041
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0295,
"after": 1.0295,
"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": 9.5374,
"after": 9.5374,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2658,
"after": 0.2792,
"delta": 0.0134,
"percent_delta": 0.0504,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0595,
"after": 1.0554,
"delta": -0.0041,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.7127,
"after": 2.6625,
"delta": -0.0502,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.121,
"after": 0.121,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.4047,
"after": 0.3968,
"delta": -0.0079,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3485,
"after": 0.351,
"delta": 0.0025,
"percent_delta": 0.0072,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3882,
"after": 1.3454,
"delta": -0.0428,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.4284,
"after": 1.3844,
"delta": -0.044,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4886,
"after": 0.5122,
"delta": 0.0236,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5979,
"after": 1.6041,
"delta": 0.0062,
"percent_delta": 0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
}
],
"summary": {
"changed_metrics": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 2,
"worse_metrics": 1,
"biggest_boost": {
"metric": "predicted_SLG",
"before": 0.4886,
"after": 0.5122,
"delta": 0.0236,
"percent_delta": 0.0483,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 2.7127,
"after": 2.6625,
"delta": -0.0502,
"percent_delta": -0.0185,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 10 (raw=9.54), rates preserved: AVG=0.279 HR/AB=0.042",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.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": 1.0295,
"after": 1.0,
"delta": -0.0295,
"percent_delta": -0.0287,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 9.5374,
"after": 10.0,
"delta": 0.4626,
"percent_delta": 0.0485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.0554,
"after": 1.0,
"delta": -0.0554,
"percent_delta": -0.0525,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 2.6625,
"after": 3.0,
"delta": 0.3375,
"percent_delta": 0.1268,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.121,
"after": 0.0,
"delta": -0.121,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.3968,
"after": 0.0,
"delta": -0.3968,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.3844,
"after": 1.0,
"delta": -0.3844,
"percent_delta": -0.2777,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6041,
"after": 2.0,
"delta": 0.3959,
"percent_delta": 0.2468,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 7,
"boosted_metrics": 3,
"deboosted_metrics": 4,
"better_metrics": 2,
"worse_metrics": 5,
"biggest_boost": {
"metric": "predicted_AB",
"before": 9.5374,
"after": 10.0,
"delta": 0.4626,
"percent_delta": 0.0485,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"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.375)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_H": 3.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": 10.0,
"after": 10.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_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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 10.0,
"predicted_BB": 1.0,
"predicted_CS": 0.0,
"predicted_H": 3.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 10.0,
"after": 10.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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.3454,
"after": 1.0,
"delta": -0.3454,
"percent_delta": -0.2567,
"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.3454,
"after": 1.0,
"delta": -0.3454,
"percent_delta": -0.2567,
"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": 10.0,
"predicted_AVG": 0.3,
"predicted_BB": 1.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SLG": 0.4,
"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": 10.0,
"after": 10.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2792,
"after": 0.3,
"delta": 0.0208,
"percent_delta": 0.0745,
"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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.351,
"after": 0.364,
"delta": 0.013,
"percent_delta": 0.037,
"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.5122,
"after": 0.4,
"delta": -0.1122,
"percent_delta": -0.2191,
"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.2792,
"after": 0.3,
"delta": 0.0208,
"percent_delta": 0.0745,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.5122,
"after": 0.4,
"delta": -0.1122,
"percent_delta": -0.2191,
"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": 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": 10.0,
"after": 5.0,
"delta": -5.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": 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": 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": 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": 3,
"worse_metrics": 4,
"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": 10.0,
"after": 5.0,
"delta": -5.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": 5.0,
"predicted_AVG": 0.2792,
"predicted_BB": 0.0,
"predicted_C": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.351,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.5122,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.3,
"after": 0.2792,
"delta": -0.0208,
"percent_delta": -0.0694,
"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.364,
"after": 0.351,
"delta": -0.013,
"percent_delta": -0.0358,
"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.5122,
"delta": 0.1122,
"percent_delta": 0.2805,
"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.4,
"after": 0.5122,
"delta": 0.1122,
"percent_delta": 0.2805,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.3,
"after": 0.2792,
"delta": -0.0208,
"percent_delta": -0.0694,
"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.342,
"after": 0.0,
"delta": -0.342,
"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.2,
"after": 5.0,
"delta": 0.8,
"percent_delta": 0.1905,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.24,
"after": 0.2792,
"delta": 0.0392,
"percent_delta": 0.1633,
"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": 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": 1.0,
"delta": 0.85,
"percent_delta": 5.6667,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.331,
"after": 0.351,
"delta": 0.02,
"percent_delta": 0.0604,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"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": 0.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.441,
"after": 0.5122,
"delta": 0.0712,
"percent_delta": 0.1615,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.703,
"after": 1.0,
"delta": 0.297,
"percent_delta": 0.4225,
"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.53,
"after": 2.0,
"delta": 1.47,
"percent_delta": 2.7736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4,
"after": 0.0,
"delta": -0.4,
"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.342 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.200 | - |
| predicted_AVG | 0.240 | - |
| predicted_BB | 0.400 | - |
| predicted_H | 1.010 | - |
| predicted_HR | 0.150 | - |
| predicted_OBP | 0.331 | - |
| predicted_R | 0.548 | - |
| predicted_RBI | 0.530 | - |
| predicted_SLG | 0.441 | - |
| predicted_SO | 0.703 | - |
Final model 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 | 1.030 | 0.688 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.537 | 5.337 |
| predicted_AVG | 0.266 | 0.026 |
| predicted_BB | 1.060 | 0.660 |
| predicted_H | 2.713 | 1.703 |
| predicted_HBP | 0.121 | - |
| predicted_HR | 0.405 | 0.255 |
| predicted_OBP | 0.348 | 0.017 |
| predicted_R | 1.388 | 0.840 |
| predicted_RBI | 1.428 | 0.898 |
| predicted_SLG | 0.489 | 0.048 |
| predicted_SO | 1.598 | 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 | 1.030 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.537 | 0.000 |
| predicted_AVG | 0.279 | 0.013 |
| predicted_BB | 1.055 | -0.004 |
| predicted_H | 2.663 | -0.050 |
| predicted_HBP | 0.121 | 0.000 |
| predicted_HR | 0.397 | -0.008 |
| predicted_OBP | 0.351 | 0.003 |
| predicted_R | 1.345 | -0.043 |
| predicted_RBI | 1.384 | -0.044 |
| predicted_SLG | 0.512 | 0.024 |
| predicted_SO | 1.604 | 0.006 |
AB rounded to 10 (raw=9.54), rates preserved: AVG=0.279 HR/AB=0.042
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 10.000 | - |
| BB | 1.000 | - |
| H | 3.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.375)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| H | 3.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 | 10.000 | 0.000 |
| BB | 1.000 | 0.000 |
| CS | 0.000 | - |
| H | 3.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.030 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 10.000 | 0.463 |
| predicted_AVG | 0.300 | 0.021 |
| predicted_BB | 1.000 | -0.055 |
| predicted_H | 3.000 | 0.337 |
| predicted_HR | 0.000 | -0.397 |
| predicted_OBP | 0.364 | 0.013 |
| predicted_R | 1.000 | -0.345 |
| predicted_RBI | 1.000 | -0.384 |
| predicted_SLG | 0.400 | -0.112 |
| predicted_SO | 2.000 | 0.396 |
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 | -5.000 |
| BB | 0.000 | -1.000 |
| CS | 0.000 | 0.000 |
| H | 1.000 | -2.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 | -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 | 1 | - | 20.000 | 15.000 | 10.000 | 0.000 | 0.000 | 0.000 | 5.000 | 5.000 | 0.000 | 0.7500 | 0.8000 | 1.2500 | 0.7500 | 0.0000 | 0.0000 | 0.2500 | 0.0000 |
| last_10 | 0.20 | 2 | - | 45.000 | 15.000 | 10.000 | 0.000 | 0.000 | 0.000 | 10.000 | 10.000 | 5.000 | 0.3333 | 0.4545 | 0.5556 | 0.3333 | 0.0000 | 0.0000 | 0.2222 | 0.1111 |
| season | 0.60 | 37 | - | 606.000 | 163.000 | 53.000 | 0.000 | 31.000 | 109.000 | 85.000 | 62.000 | 109.000 | 0.2690 | 0.3397 | 0.5099 | 0.2690 | 0.0512 | 0.1799 | 0.1023 | 0.1799 |
| Metric | Value |
|---|---|
| predicted_2B | 1.9130 |
| predicted_3B | 0.0030 |
| predicted_AB | 16.3970 |
| predicted_AVG | 0.2989 |
| predicted_BB | 1.9070 |
| predicted_H | 4.9010 |
| predicted_HBP | 0.1210 |
| predicted_HR | 0.7320 |
| predicted_OBP | 0.3710 |
| predicted_R | 2.4680 |
| predicted_RBI | 2.5830 |
| predicted_SLG | 0.5498 |
| predicted_SO | 2.7480 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.3420 | 1.9130 | 1.0295 | model_form_blend |
| predicted_3B | 0.0000 | 0.0030 | 0.0013 | model_form_blend |
| predicted_AB | 4.2000 | 16.3970 | 9.5374 | model_form_blend |
| predicted_AVG | 0.2400 | 0.2989 | 0.2658 | model_form_blend |
| predicted_BB | 0.4000 | 1.9070 | 1.0595 | model_form_blend |
| predicted_H | 1.0100 | 4.9010 | 2.7127 | model_form_blend |
| predicted_HBP | - | 0.1210 | 0.1210 | form_only |
| predicted_HR | 0.1500 | 0.7320 | 0.4047 | model_form_blend |
| predicted_OBP | 0.3310 | 0.3710 | 0.3485 | model_form_blend |
| predicted_R | 0.5480 | 2.4680 | 1.3882 | model_form_blend |
| predicted_RBI | 0.5300 | 2.5830 | 1.4284 | model_form_blend |
| predicted_SLG | 0.4410 | 0.5498 | 0.4886 | model_form_blend |
| predicted_SO | 0.7030 | 2.7480 | 1.5979 | 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 | 155 |
| Season rows before report date | 155 |
| 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 | 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.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 | 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 | 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 | 20260527_TB@BAL |
| game_type | full |
| mlbID | 668939 |
| playerID | 668939 |
| playerName | Adley Rutschman |
| pos | C |
| started | True |
| startingPosition | C |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 15.6 |
| sl_bb_percent | 9.1 |
| sl_woba | 0.352 |
| sl_xwoba | 0.356 |
| sl_xba | 0.278 |
| sl_xslg | 0.456 |
| sl_sweet_spot_percent | 40.0 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 45.2 |
| sl_exit_velocity_avg | 89.2 |
| sl_launch_angle_avg | 17.0 |
| sl_whiff_percent | 14.4 |
| sl_swing_percent | 41.3 |
| at_bat_number | 75.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 11.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 11.0 |
| ab_fld_score_start | 2.0 |
| ab_event | double |
| ab_event_description | Adley Rutschman doubles (12) on a line drive to right fielder Victor Mesa Jr. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 9.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 11.0 |
| ab_launch_speed_last | 91.2 |
| ab_launch_angle_last | 11.0 |
| ab_hit_distance_last | 153.0 |
| ab_estimated_ba_last | 0.677 |
| ab_estimated_woba_last | 0.646 |
| ab_estimated_slg_last | 0.771 |
| ab_woba_value | 1.25 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 1.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 11.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 11.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 89.8 |
| ab_release_spin_rate_avg | 2014.0 |
| ab_effective_speed_avg | 89.5 |
| ab_launch_speed_avg | 91.2 |
| ab_launch_angle_avg | 11.0 |
| ab_delta_run_exp_avg | 0.624 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | -0.624 |
| ab_bat_speed_avg | 67.7 |
| ab_swing_length_avg | 6.9 |
| ab_launch_speed_max | 91.2 |
| ab_hit_distance_sc_max | 153.0 |
| ab_release_speed_max | 89.8 |
| ab_release_spin_rate_max | 2014.0 |
| ab_release_speed_min | 89.8 |
| ab_release_spin_rate_min | 2014.0 |
| ab_delta_run_exp_sum | 0.624 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | -0.624 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.291 | 1.000 | 1.000 | Hitting_2B | 0.291 | 0.000 | 0.709 | 1.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 4.180 | 5.000 | 9.000 | Hitting_AB | 3.672 | 4.000 | 1.328 | 1.000 |
| predicted_AVG | 0.230 | 0.200 | 0.222 | Hitting_AVG | 0.258 | 0.250 | -0.058 | -0.050 |
| predicted_BB | 0.899 | 0.000 | 2.000 | Hitting_BB | 0.899 | 0.000 | -0.899 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.032 | 0.000 | -0.032 | 0.000 |
| predicted_H | 0.960 | 1.000 | 2.000 | Hitting_H | 0.947 | 1.000 | 0.053 | 0.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.036 | 0.000 | -0.036 | 0.000 |
| predicted_OBP | 0.328 | 0.200 | 0.364 | Hitting_OBP | 0.403 | 0.250 | -0.203 | -0.050 |
| predicted_R | 0.591 | 0.000 | 1.000 | Hitting_R | 0.591 | 1.000 | -0.591 | -1.000 |
| predicted_RBI | 0.350 | 0.000 | 1.000 | Hitting_RBI | 0.291 | 0.000 | -0.291 | 0.000 |
| predicted_SLG | 0.350 | 0.400 | 0.333 | Hitting_SLG | 0.367 | 0.250 | 0.033 | 0.150 |
| predicted_SO | 0.915 | 0.000 | 2.000 | Hitting_SO | 0.915 | 2.000 | -0.915 | -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_AB: 4.1800 -> 5.0000 (boost 0.8200, better) |
| Biggest Deboost | predicted_SO: 0.9150 -> 0.0000 (deboost -0.9150, 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: 4.1800 -> 9.2817 (boost 5.1017, 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.3457 -> 0.3683 (boost 0.0226, better) | predicted_SLG: 0.3455 -> 0.3390 (deboost -0.0065, 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_2B: 0.6189 -> 1.0000 (boost 0.3811, better) | predicted_SO: 2.5201 -> 2.0000 (deboost -0.5201, better) | AB rounded to 9 (raw=9.28), rates preserved: AVG=0.238 HR/AB=0.011 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.353) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.4139 -> 1.0000 (deboost -0.4139, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 2 | 0 | 2 | 0 | 2 | - | predicted_AVG: 0.2383 -> 0.2220 (deboost -0.0163, 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 -> 5.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 2 | 2 | 0 | 2 | 0 | predicted_AVG: 0.2220 -> 0.2383 (boost 0.0163, better) | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "621493",
"player_name": "Taylor Ward",
"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.291,
"predicted_3B": 0.0,
"predicted_AB": 4.18,
"predicted_AVG": 0.23,
"predicted_BB": 0.899,
"predicted_H": 0.96,
"predicted_HR": 0.08,
"predicted_OBP": 0.328,
"predicted_R": 0.591,
"predicted_RBI": 0.35,
"predicted_SLG": 0.35,
"predicted_SO": 0.915
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.6189,
"predicted_3B": 0.0009,
"predicted_AB": 9.2817,
"predicted_AVG": 0.2376,
"predicted_BB": 1.9163,
"predicted_H": 2.2539,
"predicted_HBP": 0.074,
"predicted_HR": 0.1066,
"predicted_OBP": 0.3457,
"predicted_R": 1.4588,
"predicted_RBI": 0.7456,
"predicted_SLG": 0.3455,
"predicted_SO": 2.5103
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 0.6189,
"delta": 0.3279,
"percent_delta": 1.1268,
"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.18,
"after": 9.2817,
"delta": 5.1017,
"percent_delta": 1.2205,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2376,
"delta": 0.0076,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.899,
"after": 1.9163,
"delta": 1.0173,
"percent_delta": 1.1316,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.96,
"after": 2.2539,
"delta": 1.2939,
"percent_delta": 1.3478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1066,
"delta": 0.0266,
"percent_delta": 0.3325,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3457,
"delta": 0.0177,
"percent_delta": 0.054,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 1.4588,
"delta": 0.8678,
"percent_delta": 1.4684,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.35,
"after": 0.7456,
"delta": 0.3956,
"percent_delta": 1.1303,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.35,
"after": 0.3455,
"delta": -0.0045,
"percent_delta": -0.0129,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 0.915,
"after": 2.5103,
"delta": 1.5953,
"percent_delta": 1.7435,
"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.18,
"after": 9.2817,
"delta": 5.1017,
"percent_delta": 1.2205,
"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": 3,
"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.6189,
"predicted_3B": 0.0009,
"predicted_AB": 9.2817,
"predicted_AVG": 0.2383,
"predicted_BB": 1.9088,
"predicted_H": 2.2122,
"predicted_HBP": 0.074,
"predicted_HR": 0.1045,
"predicted_OBP": 0.3683,
"predicted_R": 1.4139,
"predicted_RBI": 0.7226,
"predicted_SLG": 0.339,
"predicted_SO": 2.5201
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.6189,
"after": 0.6189,
"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": 9.2817,
"after": 9.2817,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2376,
"after": 0.2383,
"delta": 0.0007,
"percent_delta": 0.0029,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 1.9163,
"after": 1.9088,
"delta": -0.0075,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 2.2539,
"after": 2.2122,
"delta": -0.0417,
"percent_delta": -0.0185,
"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.1066,
"after": 0.1045,
"delta": -0.0021,
"percent_delta": -0.0197,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3457,
"after": 0.3683,
"delta": 0.0226,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 1.4588,
"after": 1.4139,
"delta": -0.0449,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.7456,
"after": 0.7226,
"delta": -0.023,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.3455,
"after": 0.339,
"delta": -0.0065,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5103,
"after": 2.5201,
"delta": 0.0098,
"percent_delta": 0.0039,
"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.3457,
"after": 0.3683,
"delta": 0.0226,
"percent_delta": 0.0654,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3455,
"after": 0.339,
"delta": -0.0065,
"percent_delta": -0.0188,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 9 (raw=9.28), rates preserved: AVG=0.238 HR/AB=0.011",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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.6189,
"after": 1.0,
"delta": 0.3811,
"percent_delta": 0.6158,
"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": 9.2817,
"after": 9.0,
"delta": -0.2817,
"percent_delta": -0.0304,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 1.9088,
"after": 2.0,
"delta": 0.0912,
"percent_delta": 0.0478,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 2.2122,
"after": 2.0,
"delta": -0.2122,
"percent_delta": -0.0959,
"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.1045,
"after": 0.0,
"delta": -0.1045,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.7226,
"after": 1.0,
"delta": 0.2774,
"percent_delta": 0.3839,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.5201,
"after": 2.0,
"delta": -0.5201,
"percent_delta": -0.2064,
"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_2B",
"before": 0.6189,
"after": 1.0,
"delta": 0.3811,
"percent_delta": 0.6158,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 2.5201,
"after": 2.0,
"delta": -0.5201,
"percent_delta": -0.2064,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 5,
"step": "bvp_blend",
"description": "Sample-size BvP blend (BvP AB=17.0, weight=0.145, BvP AVG=0.353)",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 9.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": 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": 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.8553,
"bvp": 0.1447
},
"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": 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": 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": 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.4139,
"after": 1.0,
"delta": -0.4139,
"percent_delta": -0.2927,
"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.4139,
"after": 1.0,
"delta": -0.4139,
"percent_delta": -0.2927,
"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": 9.0,
"predicted_AVG": 0.222,
"predicted_BB": 2.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.364,
"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.2383,
"after": 0.222,
"delta": -0.0163,
"percent_delta": -0.0684,
"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.3683,
"after": 0.364,
"delta": -0.0043,
"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": 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.339,
"after": 0.333,
"delta": -0.006,
"percent_delta": -0.0177,
"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_AVG",
"before": 0.2383,
"after": 0.222,
"delta": -0.0163,
"percent_delta": -0.0684,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 1.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SO": 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": 9.0,
"after": 5.0,
"delta": -4.0,
"percent_delta": -0.4444,
"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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.2383,
"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.3683,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.339,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.222,
"after": 0.2383,
"delta": 0.0163,
"percent_delta": 0.0736,
"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.364,
"after": 0.3683,
"delta": 0.0043,
"percent_delta": 0.0117,
"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.339,
"delta": 0.006,
"percent_delta": 0.018,
"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_AVG",
"before": 0.222,
"after": 0.2383,
"delta": 0.0163,
"percent_delta": 0.0736,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": null
},
"weights": {},
"window_games": {}
}
],
"total_change": {
"from_step": "xgboost_raw",
"to_step": "current_json_final",
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.291,
"after": 1.0,
"delta": 0.709,
"percent_delta": 2.4364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.18,
"after": 5.0,
"delta": 0.82,
"percent_delta": 0.1962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.23,
"after": 0.2383,
"delta": 0.0083,
"percent_delta": 0.0361,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.899,
"after": 0.0,
"delta": -0.899,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.328,
"after": 0.3683,
"delta": 0.0403,
"percent_delta": 0.1229,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.591,
"after": 0.0,
"delta": -0.591,
"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.35,
"after": 0.339,
"delta": -0.011,
"percent_delta": -0.0314,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.915,
"after": 0.0,
"delta": -0.915,
"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_AB",
"before": 4.18,
"after": 5.0,
"delta": 0.82,
"percent_delta": 0.1962,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SO",
"before": 0.915,
"after": 0.0,
"delta": -0.915,
"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.291 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 4.180 | - |
| predicted_AVG | 0.230 | - |
| predicted_BB | 0.899 | - |
| predicted_H | 0.960 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.328 | - |
| predicted_R | 0.591 | - |
| predicted_RBI | 0.350 | - |
| predicted_SLG | 0.350 | - |
| predicted_SO | 0.915 | - |
Final model 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.619 | 0.328 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 9.282 | 5.102 |
| predicted_AVG | 0.238 | 0.008 |
| predicted_BB | 1.916 | 1.017 |
| predicted_H | 2.254 | 1.294 |
| predicted_HBP | 0.074 | - |
| predicted_HR | 0.107 | 0.027 |
| predicted_OBP | 0.346 | 0.018 |
| predicted_R | 1.459 | 0.868 |
| predicted_RBI | 0.746 | 0.396 |
| predicted_SLG | 0.345 | -0.005 |
| predicted_SO | 2.510 | 1.595 |
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.619 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 9.282 | 0.000 |
| predicted_AVG | 0.238 | 0.001 |
| predicted_BB | 1.909 | -0.007 |
| predicted_H | 2.212 | -0.042 |
| predicted_HBP | 0.074 | 0.000 |
| predicted_HR | 0.104 | -0.002 |
| predicted_OBP | 0.368 | 0.023 |
| predicted_R | 1.414 | -0.045 |
| predicted_RBI | 0.723 | -0.023 |
| predicted_SLG | 0.339 | -0.006 |
| predicted_SO | 2.520 | 0.010 |
AB rounded to 9 (raw=9.28), rates preserved: AVG=0.238 HR/AB=0.011
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | - |
| 3B | 0.000 | - |
| AB | 9.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=17.0, weight=0.145, BvP AVG=0.353)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.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 | 1.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 9.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 | 1.000 | 0.381 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 9.000 | -0.282 |
| predicted_AVG | 0.222 | -0.016 |
| predicted_BB | 2.000 | 0.091 |
| predicted_H | 2.000 | -0.212 |
| predicted_HR | 0.000 | -0.104 |
| predicted_OBP | 0.364 | -0.004 |
| predicted_R | 1.000 | -0.414 |
| predicted_RBI | 1.000 | 0.277 |
| predicted_SLG | 0.333 | -0.006 |
| predicted_SO | 2.000 | -0.520 |
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 | 5.000 | -4.000 |
| BB | 0.000 | -2.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 | 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 | 2 | - | 19.000 | 4.000 | 0.000 | 0.000 | 0.000 | 1.000 | 4.000 | 0.000 | 10.000 | 0.2105 | 0.2105 | 0.2105 | 0.2105 | 0.0000 | 0.0526 | 0.0000 | 0.5263 |
| last_10 | 0.20 | 3 | - | 38.000 | 6.000 | 0.000 | 0.000 | 0.000 | 4.000 | 4.000 | 2.000 | 16.000 | 0.1579 | 0.1818 | 0.1579 | 0.1579 | 0.0000 | 0.1053 | 0.0526 | 0.4210 |
| season | 0.60 | 53 | - | 907.000 | 234.000 | 72.000 | 0.000 | 9.000 | 72.000 | 146.000 | 222.000 | 226.000 | 0.2580 | 0.4033 | 0.3671 | 0.2580 | 0.0099 | 0.0794 | 0.2448 | 0.2492 |
| Metric | Value |
|---|---|
| predicted_2B | 1.0320 |
| predicted_3B | 0.0020 |
| predicted_AB | 15.7090 |
| predicted_AVG | 0.2472 |
| predicted_BB | 3.1980 |
| predicted_H | 3.8840 |
| predicted_HBP | 0.0740 |
| predicted_HR | 0.1400 |
| predicted_OBP | 0.3681 |
| predicted_R | 2.5520 |
| predicted_RBI | 1.2440 |
| predicted_SLG | 0.3399 |
| predicted_SO | 4.5200 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2910 | 1.0320 | 0.6189 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 4.1800 | 15.7090 | 9.2817 | model_form_blend |
| predicted_AVG | 0.2300 | 0.2472 | 0.2376 | model_form_blend |
| predicted_BB | 0.8990 | 3.1980 | 1.9163 | model_form_blend |
| predicted_H | 0.9600 | 3.8840 | 2.2539 | model_form_blend |
| predicted_HBP | - | 0.0740 | 0.0740 | form_only |
| predicted_HR | 0.0800 | 0.1400 | 0.1066 | model_form_blend |
| predicted_OBP | 0.3280 | 0.3681 | 0.3457 | model_form_blend |
| predicted_R | 0.5910 | 2.5520 | 1.4588 | model_form_blend |
| predicted_RBI | 0.3500 | 1.2440 | 0.7456 | model_form_blend |
| predicted_SLG | 0.3500 | 0.3399 | 0.3455 | model_form_blend |
| predicted_SO | 0.9150 | 4.5200 | 2.5103 | 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 | 247 |
| Season rows before report date | 247 |
| Report year | 2026 |
| Profile rows used | 247 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 1 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 0 |
| 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 | 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 | LF |
| gameID | 20260527_TB@BAL |
| game_type | full |
| mlbID | 621493 |
| playerID | 621493 |
| playerName | Taylor Ward |
| pos | LF |
| started | True |
| startingPosition | LF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 20.2 |
| sl_bb_percent | 19.4 |
| sl_woba | 0.349 |
| sl_xwoba | 0.349 |
| sl_xba | 0.249 |
| sl_xslg | 0.365 |
| sl_sweet_spot_percent | 36.5 |
| sl_barrel_batted_rate | 4.7 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 89.1 |
| sl_launch_angle_avg | 13.6 |
| sl_whiff_percent | 18.7 |
| sl_swing_percent | 29.9 |
| at_bat_number | 48.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 5.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_2b_start | 677942.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 8.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 8.0 |
| ab_fld_score_start | 0.0 |
| ab_event | strikeout |
| ab_event_description | Taylor Ward strikes out swinging. |
| ab_event_type | S |
| ab_hit_location | 2.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 14.0 |
| ab_launch_speed_last | 82.7 |
| ab_launch_angle_last | -8.0 |
| ab_hit_distance_last | 19.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 | 3.0 |
| ab_strikes_end | 2.0 |
| ab_home_score_end | 8.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 8.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 6.0 |
| ab_release_speed_avg | 86.38333333333333 |
| ab_release_spin_rate_avg | 1899.1666666666667 |
| ab_effective_speed_avg | 86.36666666666667 |
| ab_launch_speed_avg | 82.7 |
| ab_launch_angle_avg | -8.0 |
| ab_delta_run_exp_avg | -0.0441666666666666 |
| ab_delta_home_win_exp_avg | -0.0001666666666666 |
| ab_delta_pitcher_run_exp_avg | 0.0441666666666666 |
| ab_bat_speed_avg | 68.95 |
| ab_swing_length_avg | 7.6 |
| ab_launch_speed_max | 82.7 |
| ab_hit_distance_sc_max | 19.0 |
| ab_release_speed_max | 92.3 |
| ab_release_spin_rate_max | 2100.0 |
| ab_release_speed_min | 82.4 |
| ab_release_spin_rate_min | 1329.0 |
| ab_delta_run_exp_sum | -0.265 |
| ab_delta_home_win_exp_sum | -0.001 |
| ab_delta_pitcher_run_exp_sum | 0.265 |
| 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.135 | 1.000 | 0.000 | Hitting_2B | 0.132 | 1.000 | 0.868 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.324 | 5.000 | 7.000 | Hitting_AB | 3.258 | 4.000 | 1.742 | 1.000 |
| predicted_AVG | 0.245 | 0.400 | 0.286 | Hitting_AVG | 0.211 | 0.500 | 0.189 | -0.100 |
| predicted_BB | 0.351 | 0.000 | 1.000 | Hitting_BB | 0.344 | 1.000 | -0.344 | -1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_H | 0.770 | 2.000 | 2.000 | Hitting_H | 0.689 | 2.000 | 1.311 | 0.000 |
| predicted_HR | 0.130 | 0.000 | 0.000 | Hitting_HR | 0.126 | 0.000 | -0.126 | 0.000 |
| predicted_OBP | 0.317 | 0.400 | 0.375 | Hitting_OBP | 0.289 | 0.600 | 0.111 | -0.200 |
| predicted_R | 0.426 | 1.000 | 1.000 | Hitting_R | 0.424 | 3.000 | 0.576 | -2.000 |
| predicted_RBI | 0.440 | 1.000 | 1.000 | Hitting_RBI | 0.457 | 0.000 | 0.543 | 1.000 |
| predicted_SLG | 0.407 | 0.600 | 0.286 | Hitting_SLG | 0.368 | 0.750 | 0.232 | -0.150 |
| predicted_SO | 1.088 | 2.000 | 2.000 | Hitting_SO | 1.066 | 0.000 | 0.934 | 2.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_AB: 3.3240 -> 5.0000 (boost 1.6760, better) |
| Biggest Deboost | predicted_BB: 0.3510 -> 0.0000 (deboost -0.3510, 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.3240 -> 7.1565 (boost 3.8325, 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.4078 -> 0.3971 (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 | 8 | 3 | 5 | 4 | 4 | predicted_H: 1.7108 -> 2.0000 (boost 0.2892, better) | predicted_2B: 0.4129 -> 0.0000 (deboost -0.4129, worse) | AB rounded to 7 (raw=7.16), rates preserved: AVG=0.239 HR/AB=0.033 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.400) |
| 6 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.2320 -> 1.0000 (deboost -0.2320, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3194 -> 0.3750 (boost 0.0556, better) | predicted_SLG: 0.3971 -> 0.2860 (deboost -0.1111, 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 -> 5.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.2860 -> 0.3971 (boost 0.1111, better) | predicted_OBP: 0.3750 -> 0.3194 (deboost -0.0556, worse) | 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.135,
"predicted_3B": 0.0,
"predicted_AB": 3.324,
"predicted_AVG": 0.245,
"predicted_BB": 0.351,
"predicted_H": 0.77,
"predicted_HR": 0.13,
"predicted_OBP": 0.317,
"predicted_R": 0.426,
"predicted_RBI": 0.44,
"predicted_SLG": 0.407,
"predicted_SO": 1.088
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0009,
"predicted_AB": 7.1565,
"predicted_AVG": 0.2462,
"predicted_BB": 0.8477,
"predicted_H": 1.743,
"predicted_HBP": 0.084,
"predicted_HR": 0.2435,
"predicted_OBP": 0.3221,
"predicted_R": 1.2711,
"predicted_RBI": 0.8693,
"predicted_SLG": 0.4078,
"predicted_SO": 2.1411
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.135,
"after": 0.4129,
"delta": 0.2779,
"percent_delta": 2.0585,
"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.324,
"after": 7.1565,
"delta": 3.8325,
"percent_delta": 1.153,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.2462,
"delta": 0.0012,
"percent_delta": 0.0049,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.8477,
"delta": 0.4967,
"percent_delta": 1.4151,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.77,
"after": 1.743,
"delta": 0.973,
"percent_delta": 1.2636,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.13,
"after": 0.2435,
"delta": 0.1135,
"percent_delta": 0.8731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3221,
"delta": 0.0051,
"percent_delta": 0.0161,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 1.2711,
"delta": 0.8451,
"percent_delta": 1.9838,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.8693,
"delta": 0.4293,
"percent_delta": 0.9757,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.4078,
"delta": 0.0008,
"percent_delta": 0.002,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 1.088,
"after": 2.1411,
"delta": 1.0531,
"percent_delta": 0.9679,
"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.324,
"after": 7.1565,
"delta": 3.8325,
"percent_delta": 1.153,
"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": 1,
"last_10": 3,
"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.4129,
"predicted_3B": 0.0009,
"predicted_AB": 7.1565,
"predicted_AVG": 0.239,
"predicted_BB": 0.8444,
"predicted_H": 1.7108,
"predicted_HBP": 0.084,
"predicted_HR": 0.2388,
"predicted_OBP": 0.3194,
"predicted_R": 1.232,
"predicted_RBI": 0.8425,
"predicted_SLG": 0.3971,
"predicted_SO": 2.1495
},
"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.0009,
"after": 0.0009,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.1565,
"after": 7.1565,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2462,
"after": 0.239,
"delta": -0.0072,
"percent_delta": -0.0292,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8477,
"after": 0.8444,
"delta": -0.0033,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.743,
"after": 1.7108,
"delta": -0.0322,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.084,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2435,
"after": 0.2388,
"delta": -0.0047,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3221,
"after": 0.3194,
"delta": -0.0027,
"percent_delta": -0.0084,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.2711,
"after": 1.232,
"delta": -0.0391,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.8693,
"after": 0.8425,
"delta": -0.0268,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4078,
"after": 0.3971,
"delta": -0.0107,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1411,
"after": 2.1495,
"delta": 0.0084,
"percent_delta": 0.0039,
"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.4078,
"after": 0.3971,
"delta": -0.0107,
"percent_delta": -0.0262,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.16), rates preserved: AVG=0.239 HR/AB=0.033",
"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.4129,
"after": 0.0,
"delta": -0.4129,
"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.1565,
"after": 7.0,
"delta": -0.1565,
"percent_delta": -0.0219,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8444,
"after": 1.0,
"delta": 0.1556,
"percent_delta": 0.1843,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7108,
"after": 2.0,
"delta": 0.2892,
"percent_delta": 0.169,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.084,
"after": 0.0,
"delta": -0.084,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2388,
"after": 0.0,
"delta": -0.2388,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8425,
"after": 1.0,
"delta": 0.1575,
"percent_delta": 0.1869,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 2.1495,
"after": 2.0,
"delta": -0.1495,
"percent_delta": -0.0696,
"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.7108,
"after": 2.0,
"delta": 0.2892,
"percent_delta": 0.169,
"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=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": 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.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": 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.232,
"after": 1.0,
"delta": -0.232,
"percent_delta": -0.1883,
"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.232,
"after": 1.0,
"delta": -0.232,
"percent_delta": -0.1883,
"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": 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.239,
"after": 0.286,
"delta": 0.047,
"percent_delta": 0.1967,
"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.3194,
"after": 0.375,
"delta": 0.0556,
"percent_delta": 0.1741,
"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.3971,
"after": 0.286,
"delta": -0.1111,
"percent_delta": -0.2798,
"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.3194,
"after": 0.375,
"delta": 0.0556,
"percent_delta": 0.1741,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3971,
"after": 0.286,
"delta": -0.1111,
"percent_delta": -0.2798,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 8,
"step": "simulation_box_score_reference",
"description": "Attached simulation box score without overwriting model prediction",
"stats": {
"predicted_2B": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_R": 1.0,
"predicted_RBI": 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": 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": 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": 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": 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": 1.0,
"predicted_3B": 0.0,
"predicted_AB": 5.0,
"predicted_AVG": 0.239,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3194,
"predicted_R": 1.0,
"predicted_RBI": 1.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3971,
"predicted_SO": 2.0,
"predicted_TB": 0.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 5.0,
"after": 5.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.239,
"delta": -0.047,
"percent_delta": -0.1642,
"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.3194,
"delta": -0.0556,
"percent_delta": -0.1484,
"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.3971,
"delta": 0.1111,
"percent_delta": 0.3884,
"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.3971,
"delta": 0.1111,
"percent_delta": 0.3884,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3194,
"delta": -0.0556,
"percent_delta": -0.1484,
"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.135,
"after": 1.0,
"delta": 0.865,
"percent_delta": 6.4074,
"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.324,
"after": 5.0,
"delta": 1.676,
"percent_delta": 0.5042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.245,
"after": 0.239,
"delta": -0.006,
"percent_delta": -0.0245,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"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.13,
"after": 0.0,
"delta": -0.13,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.317,
"after": 0.3194,
"delta": 0.0024,
"percent_delta": 0.0076,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.426,
"after": 1.0,
"delta": 0.574,
"percent_delta": 1.3474,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 1.0,
"delta": 0.56,
"percent_delta": 1.2727,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.407,
"after": 0.3971,
"delta": -0.0099,
"percent_delta": -0.0243,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.088,
"after": 2.0,
"delta": 0.912,
"percent_delta": 0.8382,
"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_AB",
"before": 3.324,
"after": 5.0,
"delta": 1.676,
"percent_delta": 0.5042,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.351,
"after": 0.0,
"delta": -0.351,
"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.135 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.324 | - |
| predicted_AVG | 0.245 | - |
| predicted_BB | 0.351 | - |
| predicted_H | 0.770 | - |
| predicted_HR | 0.130 | - |
| predicted_OBP | 0.317 | - |
| predicted_R | 0.426 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.407 | - |
| predicted_SO | 1.088 | - |
Final model 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.278 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 7.157 | 3.833 |
| predicted_AVG | 0.246 | 0.001 |
| predicted_BB | 0.848 | 0.497 |
| predicted_H | 1.743 | 0.973 |
| predicted_HBP | 0.084 | - |
| predicted_HR | 0.243 | 0.113 |
| predicted_OBP | 0.322 | 0.005 |
| predicted_R | 1.271 | 0.845 |
| predicted_RBI | 0.869 | 0.429 |
| predicted_SLG | 0.408 | 0.001 |
| predicted_SO | 2.141 | 1.053 |
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.001 | 0.000 |
| predicted_AB | 7.157 | 0.000 |
| predicted_AVG | 0.239 | -0.007 |
| predicted_BB | 0.844 | -0.003 |
| predicted_H | 1.711 | -0.032 |
| predicted_HBP | 0.084 | 0.000 |
| predicted_HR | 0.239 | -0.005 |
| predicted_OBP | 0.319 | -0.003 |
| predicted_R | 1.232 | -0.039 |
| predicted_RBI | 0.843 | -0.027 |
| predicted_SLG | 0.397 | -0.011 |
| predicted_SO | 2.150 | 0.008 |
AB rounded to 7 (raw=7.16), rates preserved: AVG=0.239 HR/AB=0.033
| 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 | 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.413 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 7.000 | -0.157 |
| predicted_AVG | 0.286 | 0.047 |
| predicted_BB | 1.000 | 0.156 |
| predicted_H | 2.000 | 0.289 |
| predicted_HR | 0.000 | -0.239 |
| predicted_OBP | 0.375 | 0.056 |
| predicted_R | 1.000 | -0.232 |
| predicted_RBI | 1.000 | 0.157 |
| predicted_SLG | 0.286 | -0.111 |
| predicted_SO | 2.000 | -0.150 |
Attached simulation box score without overwriting model prediction
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 1.000 | 1.000 |
| 3B | 0.000 | 0.000 |
| AB | 5.000 | -2.000 |
| BB | 0.000 | -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 | 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 | 1 | - | 20.000 | 10.000 | 5.000 | 0.000 | 0.000 | 0.000 | 15.000 | 5.000 | 0.000 | 0.5000 | 0.6000 | 0.7500 | 0.5000 | 0.0000 | 0.0000 | 0.2500 | 0.0000 |
| last_10 | 0.20 | 3 | - | 33.000 | 13.000 | 5.000 | 0.000 | 0.000 | 0.000 | 15.000 | 7.000 | 6.000 | 0.3939 | 0.5000 | 0.5455 | 0.3939 | 0.0000 | 0.0000 | 0.2121 | 0.1818 |
| season | 0.60 | 40 | - | 492.000 | 104.000 | 20.000 | 0.000 | 19.000 | 69.000 | 63.000 | 52.000 | 161.000 | 0.2114 | 0.2888 | 0.3679 | 0.2114 | 0.0386 | 0.1402 | 0.1057 | 0.3272 |
| Metric | Value |
|---|---|
| predicted_2B | 0.7740 |
| predicted_3B | 0.0020 |
| predicted_AB | 12.1350 |
| predicted_AVG | 0.2478 |
| predicted_BB | 1.4930 |
| predicted_H | 3.0070 |
| predicted_HBP | 0.0840 |
| predicted_HR | 0.3910 |
| predicted_OBP | 0.3287 |
| predicted_R | 2.3690 |
| predicted_RBI | 1.4270 |
| predicted_SLG | 0.4088 |
| predicted_SO | 3.5090 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1350 | 0.7740 | 0.4129 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.3240 | 12.1350 | 7.1565 | model_form_blend |
| predicted_AVG | 0.2450 | 0.2478 | 0.2462 | model_form_blend |
| predicted_BB | 0.3510 | 1.4930 | 0.8477 | model_form_blend |
| predicted_H | 0.7700 | 3.0070 | 1.7430 | model_form_blend |
| predicted_HBP | - | 0.0840 | 0.0840 | form_only |
| predicted_HR | 0.1300 | 0.3910 | 0.2435 | model_form_blend |
| predicted_OBP | 0.3170 | 0.3287 | 0.3221 | model_form_blend |
| predicted_R | 0.4260 | 2.3690 | 1.2711 | model_form_blend |
| predicted_RBI | 0.4400 | 1.4270 | 0.8693 | model_form_blend |
| predicted_SLG | 0.4070 | 0.4088 | 0.4078 | model_form_blend |
| predicted_SO | 1.0880 | 3.5090 | 2.1411 | 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 | 151 |
| Season rows before report date | 151 |
| Report year | 2026 |
| Profile rows used | 148 |
| Hitter metrics | Hitting_AB, Hitting_H, Hitting_HR, Hitting_RBI, Hitting_AVG, Hitting_OBP, Hitting_SLG, Hitting_BB, Hitting_SO, Hitting_2B, Hitting_3B, Hitting_R, BaseRunning_SB, BaseRunning_CS |
| Simulation Box Score Field | Value |
|---|---|
| PA | 5 |
| AB | 5 |
| H | 2 |
| 2B | 1 |
| 3B | 0 |
| HR | 0 |
| R | 1 |
| RBI | 1 |
| BB | 0 |
| SO | 2 |
| 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 | 4 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 1 |
| 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 | 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 | 20260527_TB@BAL |
| game_type | full |
| mlbID | 691723 |
| playerID | 691723 |
| playerName | Coby Mayo |
| pos | 3B |
| started | True |
| startingPosition | DH |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 30.8 |
| sl_bb_percent | 8.4 |
| sl_woba | 0.267 |
| sl_xwoba | 0.29 |
| sl_xba | 0.218 |
| sl_xslg | 0.362 |
| sl_sweet_spot_percent | 26.7 |
| sl_barrel_batted_rate | 8.1 |
| sl_hard_hit_percent | 45.3 |
| sl_exit_velocity_avg | 91.1 |
| sl_launch_angle_avg | 19.2 |
| sl_whiff_percent | 29.5 |
| sl_swing_percent | 43.2 |
| at_bat_number | 77.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 8.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_on_3b_start | 668939.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 11.0 |
| ab_away_score_start | 2.0 |
| ab_bat_score_start | 11.0 |
| ab_fld_score_start | 2.0 |
| ab_event | field_out |
| ab_event_description | Coby Mayo flies out to left fielder Chandler Simpson. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | SL |
| ab_pitch_name_last | Slider |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 96.8 |
| ab_launch_angle_last | 29.0 |
| ab_hit_distance_last | 362.0 |
| ab_estimated_ba_last | 0.254 |
| ab_estimated_woba_last | 0.434 |
| ab_estimated_slg_last | 0.799 |
| 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 | 11.0 |
| ab_away_score_end | 2.0 |
| ab_bat_score_end | 11.0 |
| ab_fld_score_end | 2.0 |
| ab_pitch_count | 4.0 |
| ab_release_speed_avg | 84.95 |
| ab_release_spin_rate_avg | 1849.0 |
| ab_effective_speed_avg | 84.75 |
| ab_launch_speed_avg | 85.85 |
| ab_launch_angle_avg | 39.0 |
| ab_delta_run_exp_avg | -0.06825 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.06825 |
| ab_bat_speed_avg | 77.25 |
| ab_swing_length_avg | 6.95 |
| ab_launch_speed_max | 96.8 |
| ab_hit_distance_sc_max | 362.0 |
| ab_release_speed_max | 90.4 |
| ab_release_spin_rate_max | 2071.0 |
| ab_release_speed_min | 82.7 |
| ab_release_spin_rate_min | 1318.0 |
| ab_delta_run_exp_sum | -0.273 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.273 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.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.045 | 3.000 | 5.000 | Hitting_AB | 3.045 | 1.000 | -0.045 | 2.000 |
| predicted_AVG | 0.269 | 0.000 | 0.200 | Hitting_AVG | 0.209 | 0.000 | -0.209 | 0.000 |
| predicted_BB | 0.455 | 0.000 | 1.000 | Hitting_BB | 0.455 | 0.000 | -0.455 | 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 | 0.636 | 0.000 | -0.636 | 0.000 |
| predicted_HR | 0.110 | 0.000 | 0.000 | Hitting_HR | 0.182 | 0.000 | -0.182 | 0.000 |
| predicted_OBP | 0.318 | 0.250 | 0.333 | Hitting_OBP | 0.289 | 0.000 | -0.039 | 0.250 |
| predicted_R | 0.500 | 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.773 | 0.000 | -0.773 | 0.000 |
| predicted_SB | - | 0.000 | 0.000 | BaseRunning_SB | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_SLG | 0.415 | 0.000 | 0.200 | Hitting_SLG | 0.388 | 0.000 | -0.388 | 0.000 |
| predicted_SO | 1.000 | 2.000 | 2.000 | Hitting_SO | 1.000 | 0.000 | 1.000 | 2.000 |
| Impact Item | Value |
|---|---|
| From | xgboost_raw |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 8 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 7 |
| Better Metrics | 0 |
| Worse Metrics | 8 |
| Biggest Boost | predicted_SO: 1.0000 -> 2.0000 (boost 1.0000, 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 | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.0450 -> 4.6878 (boost 1.6428, better) | predicted_AVG: 0.2690 -> 0.2607 (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 | 2 | 0 | 2 | 0 | 2 | - | predicted_SLG: 0.4087 -> 0.3604 (deboost -0.0483, 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_SO: 1.4266 -> 2.0000 (boost 0.5734, worse) | predicted_HR: 0.1915 -> 0.0000 (deboost -0.1915, worse) | AB rounded to 5 (raw=4.69), rates preserved: AVG=0.229 HR/AB=0.041 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=6.0, weight=0.067, BvP AVG=0.500) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.7357 -> 1.0000 (boost 0.2643, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.3187 -> 0.3330 (boost 0.0143, better) | predicted_SLG: 0.3604 -> 0.2000 (deboost -0.1604, worse) | Player Savant profile contributed to the team run-environment adjustment against the opposing starter |
| 8 | simulation_box_score_reference | 6 | 1 | 5 | 1 | 5 | predicted_HBP: 0.0000 -> 1.0000 (boost 1.0000, better) | predicted_AB: 5.0000 -> 3.0000 (deboost -2.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2000 -> 0.3604 (boost 0.1604, better) | predicted_OBP: 0.3330 -> 0.3187 (deboost -0.0143, 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.045,
"predicted_AVG": 0.269,
"predicted_BB": 0.455,
"predicted_H": 0.65,
"predicted_HR": 0.11,
"predicted_OBP": 0.318,
"predicted_R": 0.5,
"predicted_RBI": 0.44,
"predicted_SLG": 0.415,
"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.0361,
"predicted_3B": 0.003,
"predicted_AB": 4.6878,
"predicted_AVG": 0.2607,
"predicted_BB": 0.6207,
"predicted_H": 1.0931,
"predicted_HBP": 0.018,
"predicted_HR": 0.1953,
"predicted_OBP": 0.3164,
"predicted_R": 0.7591,
"predicted_RBI": 0.901,
"predicted_SLG": 0.4087,
"predicted_SO": 1.4211
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0361,
"delta": 0.0361,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.003,
"delta": 0.003,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.045,
"after": 4.6878,
"delta": 1.6428,
"percent_delta": 0.5395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2607,
"delta": -0.0083,
"percent_delta": -0.0309,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.6207,
"delta": 0.1657,
"percent_delta": 0.3642,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.65,
"after": 1.0931,
"delta": 0.4431,
"percent_delta": 0.6817,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.11,
"after": 0.1953,
"delta": 0.0853,
"percent_delta": 0.7755,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3164,
"delta": -0.0016,
"percent_delta": -0.005,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.5,
"after": 0.7591,
"delta": 0.2591,
"percent_delta": 0.5182,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.44,
"after": 0.901,
"delta": 0.461,
"percent_delta": 1.0477,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.4087,
"delta": -0.0063,
"percent_delta": -0.0152,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 1.4211,
"delta": 0.4211,
"percent_delta": 0.4211,
"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.045,
"after": 4.6878,
"delta": 1.6428,
"percent_delta": 0.5395,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2607,
"delta": -0.0083,
"percent_delta": -0.0309,
"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": 3,
"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.0361,
"predicted_3B": 0.003,
"predicted_AB": 4.6878,
"predicted_AVG": 0.2289,
"predicted_BB": 0.6183,
"predicted_H": 1.0729,
"predicted_HBP": 0.018,
"predicted_HR": 0.1915,
"predicted_OBP": 0.3187,
"predicted_R": 0.7357,
"predicted_RBI": 0.8732,
"predicted_SLG": 0.3604,
"predicted_SO": 1.4266
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0361,
"after": 0.0361,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.003,
"after": 0.003,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6878,
"after": 4.6878,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2607,
"after": 0.2289,
"delta": -0.0318,
"percent_delta": -0.122,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6207,
"after": 0.6183,
"delta": -0.0024,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0931,
"after": 1.0729,
"delta": -0.0202,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.018,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1953,
"after": 0.1915,
"delta": -0.0038,
"percent_delta": -0.0195,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3164,
"after": 0.3187,
"delta": 0.0023,
"percent_delta": 0.0073,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7591,
"after": 0.7357,
"delta": -0.0234,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.901,
"after": 0.8732,
"delta": -0.0278,
"percent_delta": -0.0309,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4087,
"after": 0.3604,
"delta": -0.0483,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4211,
"after": 1.4266,
"delta": 0.0055,
"percent_delta": 0.0039,
"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.4087,
"after": 0.3604,
"delta": -0.0483,
"percent_delta": -0.1182,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 5 (raw=4.69), rates preserved: AVG=0.229 HR/AB=0.041",
"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.0361,
"after": 0.0,
"delta": -0.0361,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.003,
"after": 0.0,
"delta": -0.003,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 4.6878,
"after": 5.0,
"delta": 0.3122,
"percent_delta": 0.0666,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6183,
"after": 1.0,
"delta": 0.3817,
"percent_delta": 0.6173,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0729,
"after": 1.0,
"delta": -0.0729,
"percent_delta": -0.0679,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.018,
"after": 0.0,
"delta": -0.018,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1915,
"after": 0.0,
"delta": -0.1915,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.8732,
"after": 1.0,
"delta": 0.1268,
"percent_delta": 0.1452,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.4266,
"after": 2.0,
"delta": 0.5734,
"percent_delta": 0.4019,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 4,
"deboosted_metrics": 2,
"better_metrics": 3,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.4266,
"after": 2.0,
"delta": 0.5734,
"percent_delta": 0.4019,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HR",
"before": 0.1915,
"after": 0.0,
"delta": -0.1915,
"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=6.0, weight=0.067, BvP AVG=0.500)",
"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.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": 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.7357,
"after": 1.0,
"delta": 0.2643,
"percent_delta": 0.3592,
"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.7357,
"after": 1.0,
"delta": 0.2643,
"percent_delta": 0.3592,
"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": 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.2289,
"after": 0.2,
"delta": -0.0289,
"percent_delta": -0.1263,
"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.3187,
"after": 0.333,
"delta": 0.0143,
"percent_delta": 0.0449,
"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.3604,
"after": 0.2,
"delta": -0.1604,
"percent_delta": -0.4451,
"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.3187,
"after": 0.333,
"delta": 0.0143,
"percent_delta": 0.0449,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3604,
"after": 0.2,
"delta": -0.1604,
"percent_delta": -0.4451,
"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": 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": 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": 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": 6,
"boosted_metrics": 1,
"deboosted_metrics": 5,
"better_metrics": 1,
"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": 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.2289,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 1.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.3187,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3604,
"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.2,
"after": 0.2289,
"delta": 0.0289,
"percent_delta": 0.1443,
"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.333,
"after": 0.3187,
"delta": -0.0143,
"percent_delta": -0.0429,
"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.3604,
"delta": 0.1604,
"percent_delta": 0.802,
"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.2,
"after": 0.3604,
"delta": 0.1604,
"percent_delta": 0.802,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.3187,
"delta": -0.0143,
"percent_delta": -0.0429,
"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.045,
"after": 3.0,
"delta": -0.045,
"percent_delta": -0.0148,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.269,
"after": 0.2289,
"delta": -0.0401,
"percent_delta": -0.1491,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.455,
"after": 0.0,
"delta": -0.455,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.318,
"after": 0.3187,
"delta": 0.0007,
"percent_delta": 0.0022,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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.44,
"after": 0.0,
"delta": -0.44,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.415,
"after": 0.3604,
"delta": -0.0546,
"percent_delta": -0.1316,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
}
],
"summary": {
"changed_metrics": 8,
"boosted_metrics": 1,
"deboosted_metrics": 7,
"better_metrics": 0,
"worse_metrics": 8,
"biggest_boost": {
"metric": "predicted_SO",
"before": 1.0,
"after": 2.0,
"delta": 1.0,
"percent_delta": 1.0,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 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.000 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.045 | - |
| predicted_AVG | 0.269 | - |
| predicted_BB | 0.455 | - |
| predicted_H | 0.650 | - |
| predicted_HR | 0.110 | - |
| predicted_OBP | 0.318 | - |
| predicted_R | 0.500 | - |
| predicted_RBI | 0.440 | - |
| predicted_SLG | 0.415 | - |
| 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.036 | 0.036 |
| predicted_3B | 0.003 | 0.003 |
| predicted_AB | 4.688 | 1.643 |
| predicted_AVG | 0.261 | -0.008 |
| predicted_BB | 0.621 | 0.166 |
| predicted_H | 1.093 | 0.443 |
| predicted_HBP | 0.018 | - |
| predicted_HR | 0.195 | 0.085 |
| predicted_OBP | 0.316 | -0.002 |
| predicted_R | 0.759 | 0.259 |
| predicted_RBI | 0.901 | 0.461 |
| predicted_SLG | 0.409 | -0.006 |
| predicted_SO | 1.421 | 0.421 |
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.036 | 0.000 |
| predicted_3B | 0.003 | 0.000 |
| predicted_AB | 4.688 | 0.000 |
| predicted_AVG | 0.229 | -0.032 |
| predicted_BB | 0.618 | -0.002 |
| predicted_H | 1.073 | -0.020 |
| predicted_HBP | 0.018 | 0.000 |
| predicted_HR | 0.192 | -0.004 |
| predicted_OBP | 0.319 | 0.002 |
| predicted_R | 0.736 | -0.023 |
| predicted_RBI | 0.873 | -0.028 |
| predicted_SLG | 0.360 | -0.048 |
| predicted_SO | 1.427 | 0.006 |
AB rounded to 5 (raw=4.69), rates preserved: AVG=0.229 HR/AB=0.041
| 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=6.0, weight=0.067, BvP AVG=0.500)
| Metric | Value | Delta vs Prev Step |
|---|---|---|
| 2B | 0.000 | 0.000 |
| 3B | 0.000 | 0.000 |
| AB | 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.036 |
| predicted_3B | 0.000 | -0.003 |
| predicted_AB | 5.000 | 0.312 |
| predicted_AVG | 0.200 | -0.029 |
| predicted_BB | 1.000 | 0.382 |
| predicted_H | 1.000 | -0.073 |
| predicted_HR | 0.000 | -0.192 |
| predicted_OBP | 0.333 | 0.014 |
| predicted_R | 1.000 | 0.264 |
| predicted_RBI | 1.000 | 0.127 |
| predicted_SLG | 0.200 | -0.160 |
| predicted_SO | 2.000 | 0.573 |
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 | 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 | -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 | 3 | - | 14.000 | 6.000 | 0.000 | 0.000 | 0.000 | 4.000 | 3.000 | 1.000 | 3.000 | 0.4286 | 0.4375 | 0.4286 | 0.4286 | 0.0000 | 0.2857 | 0.0714 | 0.2143 |
| last_10 | 0.20 | 3 | - | 34.000 | 6.000 | 0.000 | 0.000 | 0.000 | 9.000 | 3.000 | 6.000 | 18.000 | 0.1765 | 0.2609 | 0.1765 | 0.1765 | 0.0000 | 0.2647 | 0.1765 | 0.5294 |
| season | 0.60 | 7 | - | 67.000 | 14.000 | 0.000 | 0.000 | 4.000 | 17.000 | 11.000 | 10.000 | 22.000 | 0.2090 | 0.2892 | 0.3881 | 0.2090 | 0.0597 | 0.2537 | 0.1492 | 0.3284 |
| Metric | Value |
|---|---|
| predicted_2B | 0.0970 |
| predicted_3B | 0.0080 |
| predicted_AB | 7.4570 |
| predicted_AVG | 0.2468 |
| predicted_BB | 0.9000 |
| predicted_H | 1.8400 |
| predicted_HBP | 0.0180 |
| predicted_HR | 0.3390 |
| predicted_OBP | 0.3138 |
| predicted_R | 1.1960 |
| predicted_RBI | 1.6780 |
| predicted_SLG | 0.3982 |
| predicted_SO | 2.1310 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0000 | 0.0970 | 0.0361 | model_form_blend |
| predicted_3B | 0.0000 | 0.0080 | 0.0030 | model_form_blend |
| predicted_AB | 3.0450 | 7.4570 | 4.6878 | model_form_blend |
| predicted_AVG | 0.2690 | 0.2468 | 0.2607 | model_form_blend |
| predicted_BB | 0.4550 | 0.9000 | 0.6207 | model_form_blend |
| predicted_H | 0.6500 | 1.8400 | 1.0931 | model_form_blend |
| predicted_HBP | - | 0.0180 | 0.0180 | form_only |
| predicted_HR | 0.1100 | 0.3390 | 0.1953 | model_form_blend |
| predicted_OBP | 0.3180 | 0.3138 | 0.3164 | model_form_blend |
| predicted_R | 0.5000 | 1.1960 | 0.7591 | model_form_blend |
| predicted_RBI | 0.4400 | 1.6780 | 0.9010 | model_form_blend |
| predicted_SLG | 0.4150 | 0.3982 | 0.4087 | model_form_blend |
| predicted_SO | 1.0000 | 2.1310 | 1.4211 | 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 | 22 |
| Season rows before report date | 22 |
| 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 | 4 |
| AB | 3 |
| H | 0 |
| 2B | 0 |
| 3B | 0 |
| HR | 0 |
| R | 0 |
| RBI | 0 |
| BB | 0 |
| SO | 2 |
| SF | 0 |
| HBP | 1 |
| season_avg | 0.209 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 1 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 0 |
| Pitching_ER | 0 |
| Pitching_ERA | 0 |
| Pitching_Flyouts | 0 |
| Pitching_Groundouts | 0 |
| Pitching_H | 0 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 0.0 |
| Pitching_Pitches | 0 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 0 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 0 |
| allPositionsPlayed | SS |
| gameID | 20260527_TB@BAL |
| game_type | short |
| mlbID | 702616 |
| playerID | 702616 |
| playerName | Jackson Holliday |
| pos | 2B |
| started | False |
| startingPosition | SS |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 27.3 |
| sl_bb_percent | 13.6 |
| sl_woba | 0.313 |
| sl_xwoba | 0.288 |
| sl_xba | 0.175 |
| sl_xslg | 0.305 |
| sl_sweet_spot_percent | 46.2 |
| sl_barrel_batted_rate | 7.7 |
| sl_hard_hit_percent | 38.5 |
| sl_exit_velocity_avg | 91.3 |
| sl_launch_angle_avg | 26.8 |
| sl_whiff_percent | 35.1 |
| sl_swing_percent | 38.9 |
| at_bat_number | 66.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 2.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 11.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 11.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Jackson Holliday flies out sharply to center fielder Cedric Mullins. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 8.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 100.1 |
| ab_launch_angle_last | 34.0 |
| ab_hit_distance_last | 379.0 |
| ab_estimated_ba_last | 0.349 |
| ab_estimated_woba_last | 0.674 |
| ab_estimated_slg_last | 1.305 |
| 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 | 0.0 |
| ab_home_score_end | 11.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 11.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 89.6 |
| ab_release_spin_rate_avg | 2170.0 |
| ab_effective_speed_avg | 88.85 |
| ab_launch_speed_avg | 100.1 |
| ab_launch_angle_avg | 34.0 |
| ab_delta_run_exp_avg | -0.1219999999999999 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.1219999999999999 |
| ab_bat_speed_avg | 72.5 |
| ab_swing_length_avg | 7.4 |
| ab_launch_speed_max | 100.1 |
| ab_hit_distance_sc_max | 379.0 |
| ab_release_speed_max | 90.2 |
| ab_release_spin_rate_max | 2234.0 |
| ab_release_speed_min | 89.0 |
| ab_release_spin_rate_min | 2106.0 |
| ab_delta_run_exp_sum | -0.2439999999999999 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.2439999999999999 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.038 | 0.000 | 0.000 | Hitting_2B | 0.038 | 0.000 | -0.038 | 0.000 |
| predicted_3B | 0.000 | 0.000 | 0.000 | Hitting_3B | 0.000 | 0.000 | 0.000 | 0.000 |
| predicted_AB | 3.000 | 4.000 | 5.000 | Hitting_AB | 3.000 | 2.000 | 1.000 | 2.000 |
| predicted_AVG | 0.228 | 0.000 | 0.200 | Hitting_AVG | 0.170 | 0.500 | -0.170 | -0.500 |
| predicted_BB | 0.423 | 0.000 | 1.000 | Hitting_BB | 0.423 | 0.000 | -0.423 | 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.510 | 1.000 | -0.510 | -1.000 |
| predicted_HR | 0.080 | 0.000 | 0.000 | Hitting_HR | 0.077 | 0.000 | -0.077 | 0.000 |
| predicted_OBP | 0.274 | 0.000 | 0.333 | Hitting_OBP | 0.288 | 0.500 | -0.288 | -0.500 |
| predicted_R | 0.481 | 0.000 | 1.000 | Hitting_R | 0.481 | 0.000 | -0.481 | 0.000 |
| predicted_RBI | 0.310 | 0.000 | 1.000 | Hitting_RBI | 0.288 | 1.000 | -0.288 | -1.000 |
| predicted_SLG | 0.307 | 0.000 | 0.200 | Hitting_SLG | 0.260 | 0.500 | -0.260 | -0.500 |
| predicted_SO | 0.904 | 1.000 | 2.000 | Hitting_SO | 0.904 | 1.000 | 0.096 | 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_AB: 3.0000 -> 4.0000 (boost 1.0000, better) |
| Biggest Deboost | predicted_H: 0.6200 -> 0.0000 (deboost -0.6200, worse) |
| # | Step | Changed | Boosted | Deboosted | Better | Worse | Biggest Boost | Biggest Deboost | Reason |
|---|---|---|---|---|---|---|---|---|---|
| 1 | xgboost_raw | 0 | 0 | 0 | 0 | 0 | - | - | Raw model output with missing event categories filled from season-profile fallback |
| 2 | weighted_recent_form_blend | 9 | 7 | 2 | 6 | 3 | predicted_AB: 3.0000 -> 5.1045 (boost 2.1045, better) | predicted_SLG: 0.3070 -> 0.2990 (deboost -0.0080, 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.2207 -> 0.2057 (deboost -0.0150, 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.5467 -> 1.0000 (boost 0.4533, better) | predicted_HBP: 0.1540 -> 0.0000 (deboost -0.1540, worse) | AB rounded to 5 (raw=5.10), rates preserved: AVG=0.206 HR/AB=0.023 |
| 5 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.6822 -> 1.0000 (boost 0.3178, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_OBP: 0.2902 -> 0.3330 (boost 0.0428, better) | predicted_SLG: 0.2867 -> 0.2000 (deboost -0.0867, 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: 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.2867 (boost 0.0867, better) | predicted_OBP: 0.3330 -> 0.2902 (deboost -0.0428, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "641933",
"player_name": "Tyler O'Neill",
"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.038,
"predicted_3B": 0.0,
"predicted_AB": 3.0,
"predicted_AVG": 0.228,
"predicted_BB": 0.423,
"predicted_H": 0.62,
"predicted_HR": 0.08,
"predicted_OBP": 0.274,
"predicted_R": 0.481,
"predicted_RBI": 0.31,
"predicted_SLG": 0.307,
"predicted_SO": 0.904
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.0658,
"predicted_3B": 0.0009,
"predicted_AB": 5.1045,
"predicted_AVG": 0.2207,
"predicted_BB": 0.6104,
"predicted_H": 1.0696,
"predicted_HBP": 0.154,
"predicted_HR": 0.1176,
"predicted_OBP": 0.2861,
"predicted_R": 0.7039,
"predicted_RBI": 0.5641,
"predicted_SLG": 0.299,
"predicted_SO": 1.6149
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.038,
"after": 0.0658,
"delta": 0.0278,
"percent_delta": 0.7316,
"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.0,
"after": 5.1045,
"delta": 2.1045,
"percent_delta": 0.7015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2207,
"delta": -0.0073,
"percent_delta": -0.032,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.6104,
"delta": 0.1874,
"percent_delta": 0.443,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.62,
"after": 1.0696,
"delta": 0.4496,
"percent_delta": 0.7252,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.08,
"after": 0.1176,
"delta": 0.0376,
"percent_delta": 0.47,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2861,
"delta": 0.0121,
"percent_delta": 0.0442,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.7039,
"delta": 0.2229,
"percent_delta": 0.4634,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.31,
"after": 0.5641,
"delta": 0.2541,
"percent_delta": 0.8197,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.299,
"delta": -0.008,
"percent_delta": -0.0261,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.904,
"after": 1.6149,
"delta": 0.7109,
"percent_delta": 0.7864,
"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.0,
"after": 5.1045,
"delta": 2.1045,
"percent_delta": 0.7015,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.307,
"after": 0.299,
"delta": -0.008,
"percent_delta": -0.0261,
"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": 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.0658,
"predicted_3B": 0.0009,
"predicted_AB": 5.1045,
"predicted_AVG": 0.2057,
"predicted_BB": 0.608,
"predicted_H": 1.0498,
"predicted_HBP": 0.154,
"predicted_HR": 0.1153,
"predicted_OBP": 0.2902,
"predicted_R": 0.6822,
"predicted_RBI": 0.5467,
"predicted_SLG": 0.2867,
"predicted_SO": 1.6212
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0658,
"after": 0.0658,
"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.1045,
"after": 5.1045,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2207,
"after": 0.2057,
"delta": -0.015,
"percent_delta": -0.068,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.6104,
"after": 0.608,
"delta": -0.0024,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0696,
"after": 1.0498,
"delta": -0.0198,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.154,
"after": 0.154,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.1176,
"after": 0.1153,
"delta": -0.0023,
"percent_delta": -0.0196,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.2861,
"after": 0.2902,
"delta": 0.0041,
"percent_delta": 0.0143,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.7039,
"after": 0.6822,
"delta": -0.0217,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.5641,
"after": 0.5467,
"delta": -0.0174,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.299,
"after": 0.2867,
"delta": -0.0123,
"percent_delta": -0.0411,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6149,
"after": 1.6212,
"delta": 0.0063,
"percent_delta": 0.0039,
"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.2207,
"after": 0.2057,
"delta": -0.015,
"percent_delta": -0.068,
"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.206 HR/AB=0.023",
"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.0658,
"after": 0.0,
"delta": -0.0658,
"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.1045,
"after": 5.0,
"delta": -0.1045,
"percent_delta": -0.0205,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.608,
"after": 1.0,
"delta": 0.392,
"percent_delta": 0.6447,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.0498,
"after": 1.0,
"delta": -0.0498,
"percent_delta": -0.0474,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.1153,
"after": 0.0,
"delta": -0.1153,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.6212,
"after": 2.0,
"delta": 0.3788,
"percent_delta": 0.2337,
"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.5467,
"after": 1.0,
"delta": 0.4533,
"percent_delta": 0.8292,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_HBP",
"before": 0.154,
"after": 0.0,
"delta": -0.154,
"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": 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.6822,
"after": 1.0,
"delta": 0.3178,
"percent_delta": 0.4658,
"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.6822,
"after": 1.0,
"delta": 0.3178,
"percent_delta": 0.4658,
"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": 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.2057,
"after": 0.2,
"delta": -0.0057,
"percent_delta": -0.0277,
"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.2902,
"after": 0.333,
"delta": 0.0428,
"percent_delta": 0.1475,
"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.2867,
"after": 0.2,
"delta": -0.0867,
"percent_delta": -0.3024,
"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.2902,
"after": 0.333,
"delta": 0.0428,
"percent_delta": 0.1475,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.2867,
"after": 0.2,
"delta": -0.0867,
"percent_delta": -0.3024,
"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": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_CS",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.0,
"after": 0.0,
"delta": -1.0,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SF",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SO",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
}
],
"summary": {
"changed_metrics": 6,
"boosted_metrics": 0,
"deboosted_metrics": 6,
"better_metrics": 1,
"worse_metrics": 5,
"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.2057,
"predicted_BB": 0.0,
"predicted_CS": 0.0,
"predicted_H": 0.0,
"predicted_HBP": 0.0,
"predicted_HR": 0.0,
"predicted_OBP": 0.2902,
"predicted_R": 0.0,
"predicted_RBI": 0.0,
"predicted_RF": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.2867,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_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.2057,
"delta": 0.0057,
"percent_delta": 0.0283,
"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.2902,
"delta": -0.0428,
"percent_delta": -0.1285,
"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.2867,
"delta": 0.0867,
"percent_delta": 0.4334,
"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.2867,
"delta": 0.0867,
"percent_delta": 0.4334,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.333,
"after": 0.2902,
"delta": -0.0428,
"percent_delta": -0.1285,
"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.038,
"after": 0.0,
"delta": -0.038,
"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.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.228,
"after": 0.2057,
"delta": -0.0223,
"percent_delta": -0.0978,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.423,
"after": 0.0,
"delta": -0.423,
"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.08,
"after": 0.0,
"delta": -0.08,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.274,
"after": 0.2902,
"delta": 0.0162,
"percent_delta": 0.0591,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.481,
"after": 0.0,
"delta": -0.481,
"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.307,
"after": 0.2867,
"delta": -0.0203,
"percent_delta": -0.0661,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.904,
"after": 1.0,
"delta": 0.096,
"percent_delta": 0.1062,
"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.0,
"after": 4.0,
"delta": 1.0,
"percent_delta": 0.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_H",
"before": 0.62,
"after": 0.0,
"delta": -0.62,
"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.038 | - |
| predicted_3B | 0.000 | - |
| predicted_AB | 3.000 | - |
| predicted_AVG | 0.228 | - |
| predicted_BB | 0.423 | - |
| predicted_H | 0.620 | - |
| predicted_HR | 0.080 | - |
| predicted_OBP | 0.274 | - |
| predicted_R | 0.481 | - |
| predicted_RBI | 0.310 | - |
| predicted_SLG | 0.307 | - |
| predicted_SO | 0.904 | - |
Final model 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.066 | 0.028 |
| predicted_3B | 0.001 | 0.001 |
| predicted_AB | 5.104 | 2.104 |
| predicted_AVG | 0.221 | -0.007 |
| predicted_BB | 0.610 | 0.187 |
| predicted_H | 1.070 | 0.450 |
| predicted_HBP | 0.154 | - |
| predicted_HR | 0.118 | 0.038 |
| predicted_OBP | 0.286 | 0.012 |
| predicted_R | 0.704 | 0.223 |
| predicted_RBI | 0.564 | 0.254 |
| predicted_SLG | 0.299 | -0.008 |
| predicted_SO | 1.615 | 0.711 |
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.066 | 0.000 |
| predicted_3B | 0.001 | 0.000 |
| predicted_AB | 5.104 | 0.000 |
| predicted_AVG | 0.206 | -0.015 |
| predicted_BB | 0.608 | -0.002 |
| predicted_H | 1.050 | -0.020 |
| predicted_HBP | 0.154 | 0.000 |
| predicted_HR | 0.115 | -0.002 |
| predicted_OBP | 0.290 | 0.004 |
| predicted_R | 0.682 | -0.022 |
| predicted_RBI | 0.547 | -0.017 |
| predicted_SLG | 0.287 | -0.012 |
| predicted_SO | 1.621 | 0.006 |
AB rounded to 5 (raw=5.10), rates preserved: AVG=0.206 HR/AB=0.023
| 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 | - |
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.066 |
| predicted_3B | 0.000 | -0.001 |
| predicted_AB | 5.000 | -0.104 |
| predicted_AVG | 0.200 | -0.006 |
| predicted_BB | 1.000 | 0.392 |
| predicted_H | 1.000 | -0.050 |
| predicted_HR | 0.000 | -0.115 |
| predicted_OBP | 0.333 | 0.043 |
| predicted_R | 1.000 | 0.318 |
| predicted_RBI | 1.000 | 0.453 |
| predicted_SLG | 0.200 | -0.087 |
| predicted_SO | 2.000 | 0.379 |
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 | 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 | 3 | - | 10.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 4.000 | 0.4000 | 0.4000 | 0.4000 | 0.4000 | 0.0000 | 0.2000 | 0.0000 | 0.4000 |
| last_10 | 0.20 | 4 | - | 20.000 | 4.000 | 0.000 | 0.000 | 0.000 | 2.000 | 0.000 | 0.000 | 12.000 | 0.2000 | 0.2000 | 0.2000 | 0.2000 | 0.0000 | 0.1000 | 0.0000 | 0.6000 |
| season | 0.60 | 33 | - | 312.000 | 53.000 | 4.000 | 0.000 | 8.000 | 30.000 | 50.000 | 44.000 | 94.000 | 0.1699 | 0.2885 | 0.2596 | 0.1699 | 0.0256 | 0.0961 | 0.1410 | 0.3013 |
| Metric | Value |
|---|---|
| predicted_2B | 0.1030 |
| predicted_3B | 0.0020 |
| predicted_AB | 7.9200 |
| predicted_AVG | 0.2110 |
| predicted_BB | 0.8610 |
| predicted_H | 1.6710 |
| predicted_HBP | 0.1540 |
| predicted_HR | 0.1680 |
| predicted_OBP | 0.3024 |
| predicted_R | 1.0020 |
| predicted_RBI | 0.9040 |
| predicted_SLG | 0.2884 |
| predicted_SO | 2.5660 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.0380 | 0.1030 | 0.0658 | model_form_blend |
| predicted_3B | 0.0000 | 0.0020 | 0.0009 | model_form_blend |
| predicted_AB | 3.0000 | 7.9200 | 5.1045 | model_form_blend |
| predicted_AVG | 0.2280 | 0.2110 | 0.2207 | model_form_blend |
| predicted_BB | 0.4230 | 0.8610 | 0.6104 | model_form_blend |
| predicted_H | 0.6200 | 1.6710 | 1.0696 | model_form_blend |
| predicted_HBP | - | 0.1540 | 0.1540 | form_only |
| predicted_HR | 0.0800 | 0.1680 | 0.1176 | model_form_blend |
| predicted_OBP | 0.2740 | 0.3024 | 0.2861 | model_form_blend |
| predicted_R | 0.4810 | 1.0020 | 0.7039 | model_form_blend |
| predicted_RBI | 0.3100 | 0.9040 | 0.5641 | model_form_blend |
| predicted_SLG | 0.3070 | 0.2884 | 0.2990 | model_form_blend |
| predicted_SO | 0.9040 | 2.5660 | 1.6149 | 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 | 104 |
| Season rows before report date | 104 |
| 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.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 | 2 |
| Hitting_AVG | 0.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 1 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 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 | RF |
| gameID | 20260527_TB@BAL |
| game_type | full |
| mlbID | 641933 |
| playerID | 641933 |
| playerName | Tyler O'Neill |
| pos | RF |
| started | True |
| startingPosition | RF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 23.8 |
| sl_bb_percent | 11.4 |
| sl_woba | 0.24 |
| sl_xwoba | 0.275 |
| sl_xba | 0.18 |
| sl_xslg | 0.31 |
| sl_sweet_spot_percent | 30.3 |
| sl_barrel_batted_rate | 4.5 |
| sl_hard_hit_percent | 36.4 |
| sl_exit_velocity_avg | 87.7 |
| sl_launch_angle_avg | 23.4 |
| sl_whiff_percent | 31.6 |
| sl_swing_percent | 46.1 |
| at_bat_number | 30.0 |
| ab_pitcher | 571927.0 |
| ab_pitcher_name | Matz, Steven |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | L |
| ab_inning | 3.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_2b_start | 691723.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 5.0 |
| ab_away_score_start | 0.0 |
| ab_bat_score_start | 5.0 |
| ab_fld_score_start | 0.0 |
| ab_event | single |
| ab_event_description | Tyler O'Neill singles on a line drive to left fielder Chandler Simpson. Coby Mayo scores. |
| ab_event_type | X |
| ab_bb_type | line_drive |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | CH |
| ab_pitch_name_last | Changeup |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 96.8 |
| ab_launch_angle_last | 16.0 |
| ab_hit_distance_last | 226.0 |
| ab_estimated_ba_last | 0.666 |
| ab_estimated_woba_last | 0.679 |
| ab_estimated_slg_last | 0.924 |
| ab_woba_value | 0.9 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 1.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 6.0 |
| ab_away_score_end | 0.0 |
| ab_bat_score_end | 6.0 |
| ab_fld_score_end | 0.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 87.05 |
| ab_release_spin_rate_avg | 2467.5 |
| ab_effective_speed_avg | 86.65 |
| ab_launch_speed_avg | 96.8 |
| ab_launch_angle_avg | 16.0 |
| ab_delta_run_exp_avg | 0.2755 |
| ab_delta_home_win_exp_avg | 0.0105 |
| ab_delta_pitcher_run_exp_avg | -0.2755 |
| ab_bat_speed_avg | 67.2 |
| ab_swing_length_avg | 7.0 |
| ab_launch_speed_max | 96.8 |
| ab_hit_distance_sc_max | 226.0 |
| ab_release_speed_max | 92.5 |
| ab_release_spin_rate_max | 2590.0 |
| ab_release_speed_min | 81.6 |
| ab_release_spin_rate_min | 2345.0 |
| ab_delta_run_exp_sum | 0.551 |
| ab_delta_home_win_exp_sum | 0.021 |
| ab_delta_pitcher_run_exp_sum | -0.551 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.218 | 0.000 | 0.000 | Hitting_2B | 0.214 | 0.000 | -0.214 | 0.000 |
| predicted_3B | 0.026 | 0.000 | 0.000 | Hitting_3B | 0.025 | 0.000 | -0.025 | 0.000 |
| predicted_AB | 3.372 | 5.000 | 7.000 | Hitting_AB | 3.308 | 4.000 | 1.692 | 1.000 |
| predicted_AVG | 0.265 | 0.400 | 0.286 | Hitting_AVG | 0.278 | 0.500 | 0.122 | -0.100 |
| predicted_BB | 0.474 | 0.000 | 1.000 | Hitting_BB | 0.472 | 0.000 | -0.472 | 0.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.031 | 0.000 | -0.031 | 0.000 |
| predicted_H | 0.310 | 2.000 | 2.000 | Hitting_H | 0.918 | 2.000 | 1.082 | 0.000 |
| predicted_HR | 0.030 | 1.000 | 0.000 | Hitting_HR | 0.057 | 0.000 | 0.943 | 1.000 |
| predicted_OBP | 0.334 | 0.400 | 0.375 | Hitting_OBP | 0.372 | 0.500 | 0.028 | -0.100 |
| predicted_R | 0.538 | 1.000 | 1.000 | Hitting_R | 0.528 | 1.000 | 0.472 | 0.000 |
| predicted_RBI | 0.170 | 2.000 | 1.000 | Hitting_RBI | 0.560 | 1.000 | 1.440 | 1.000 |
| predicted_SLG | 0.403 | 1.000 | 0.286 | Hitting_SLG | 0.409 | 0.500 | 0.591 | 0.500 |
| predicted_SO | 0.795 | 1.000 | 2.000 | Hitting_SO | 0.780 | 0.000 | 0.220 | 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.1700 -> 2.0000 (boost 1.8300, better) |
| Biggest Deboost | predicted_BB: 0.4740 -> 0.0000 (deboost -0.4740, 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.3720 -> 7.0873 (boost 3.7153, 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.4129 -> 0.3593 (deboost -0.0536, 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.5477 -> 2.0000 (boost 0.4523, worse) | predicted_2B: 0.4147 -> 0.0000 (deboost -0.4147, worse) | AB rounded to 7 (raw=7.09), rates preserved: AVG=0.248 HR/AB=0.013 |
| 5 | consistency_constraints | 1 | 0 | 1 | 0 | 1 | - | predicted_R: 1.1741 -> 1.0000 (deboost -0.1741, worse) | Enforced H<=AB, HR<=H, safety nets, derived R |
| 6 | embedded_savant_player_context | 3 | 2 | 1 | 2 | 1 | predicted_OBP: 0.3307 -> 0.3750 (boost 0.0443, better) | predicted_SLG: 0.3593 -> 0.2860 (deboost -0.0733, 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_HR: 0.0000 -> 1.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.3593 (boost 0.0733, better) | predicted_OBP: 0.3750 -> 0.3307 (deboost -0.0443, worse) | 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.218,
"predicted_3B": 0.026,
"predicted_AB": 3.372,
"predicted_AVG": 0.265,
"predicted_BB": 0.474,
"predicted_H": 0.31,
"predicted_HR": 0.03,
"predicted_OBP": 0.334,
"predicted_R": 0.538,
"predicted_RBI": 0.17,
"predicted_SLG": 0.403,
"predicted_SO": 0.795
},
"changed_metrics": [],
"summary": {
"changed_metrics": 0,
"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.4147,
"predicted_3B": 0.0469,
"predicted_AB": 7.0873,
"predicted_AVG": 0.2853,
"predicted_BB": 0.8792,
"predicted_H": 1.7908,
"predicted_HBP": 0.077,
"predicted_HR": 0.0954,
"predicted_OBP": 0.3584,
"predicted_R": 1.2114,
"predicted_RBI": 0.9756,
"predicted_SLG": 0.4129,
"predicted_SO": 1.5417
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.218,
"after": 0.4147,
"delta": 0.1967,
"percent_delta": 0.9023,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.026,
"after": 0.0469,
"delta": 0.0209,
"percent_delta": 0.8038,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.372,
"after": 7.0873,
"delta": 3.7153,
"percent_delta": 1.1018,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.2853,
"delta": 0.0203,
"percent_delta": 0.0766,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.474,
"after": 0.8792,
"delta": 0.4052,
"percent_delta": 0.8549,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 1.7908,
"delta": 1.4808,
"percent_delta": 4.7768,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 0.0954,
"delta": 0.0654,
"percent_delta": 2.18,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3584,
"delta": 0.0244,
"percent_delta": 0.0731,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 1.2114,
"delta": 0.6734,
"percent_delta": 1.2517,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 0.9756,
"delta": 0.8056,
"percent_delta": 4.7388,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.4129,
"delta": 0.0099,
"percent_delta": 0.0246,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 1.5417,
"delta": 0.7467,
"percent_delta": 0.9392,
"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.372,
"after": 7.0873,
"delta": 3.7153,
"percent_delta": 1.1018,
"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": 3,
"season": 42
}
},
{
"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.4147,
"predicted_3B": 0.0469,
"predicted_AB": 7.0873,
"predicted_AVG": 0.248,
"predicted_BB": 0.8758,
"predicted_H": 1.7577,
"predicted_HBP": 0.077,
"predicted_HR": 0.0935,
"predicted_OBP": 0.3307,
"predicted_R": 1.1741,
"predicted_RBI": 0.9456,
"predicted_SLG": 0.3593,
"predicted_SO": 1.5477
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4147,
"after": 0.4147,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0469,
"after": 0.0469,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0873,
"after": 7.0873,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2853,
"after": 0.248,
"delta": -0.0373,
"percent_delta": -0.1307,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8792,
"after": 0.8758,
"delta": -0.0034,
"percent_delta": -0.0039,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.7908,
"after": 1.7577,
"delta": -0.0331,
"percent_delta": -0.0185,
"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.0954,
"after": 0.0935,
"delta": -0.0019,
"percent_delta": -0.0199,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3584,
"after": 0.3307,
"delta": -0.0277,
"percent_delta": -0.0773,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 1.2114,
"after": 1.1741,
"delta": -0.0373,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 0.9756,
"after": 0.9456,
"delta": -0.03,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.4129,
"after": 0.3593,
"delta": -0.0536,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5417,
"after": 1.5477,
"delta": 0.006,
"percent_delta": 0.0039,
"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.4129,
"after": 0.3593,
"delta": -0.0536,
"percent_delta": -0.1298,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=7.09), rates preserved: AVG=0.248 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": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.4147,
"after": 0.0,
"delta": -0.4147,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0469,
"after": 0.0,
"delta": -0.0469,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 7.0873,
"after": 7.0,
"delta": -0.0873,
"percent_delta": -0.0123,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.8758,
"after": 1.0,
"delta": 0.1242,
"percent_delta": 0.1418,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7577,
"after": 2.0,
"delta": 0.2423,
"percent_delta": 0.1379,
"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.0935,
"after": 0.0,
"delta": -0.0935,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.9456,
"after": 1.0,
"delta": 0.0544,
"percent_delta": 0.0575,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.5477,
"after": 2.0,
"delta": 0.4523,
"percent_delta": 0.2922,
"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.5477,
"after": 2.0,
"delta": 0.4523,
"percent_delta": 0.2922,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_2B",
"before": 0.4147,
"after": 0.0,
"delta": -0.4147,
"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.1741,
"after": 1.0,
"delta": -0.1741,
"percent_delta": -0.1483,
"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.1741,
"after": 1.0,
"delta": -0.1741,
"percent_delta": -0.1483,
"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.248,
"after": 0.286,
"delta": 0.038,
"percent_delta": 0.1532,
"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.3307,
"after": 0.375,
"delta": 0.0443,
"percent_delta": 0.134,
"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.3593,
"after": 0.286,
"delta": -0.0733,
"percent_delta": -0.204,
"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.3307,
"after": 0.375,
"delta": 0.0443,
"percent_delta": 0.134,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.3593,
"after": 0.286,
"delta": -0.0733,
"percent_delta": -0.204,
"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": 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": 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": 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": 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_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": 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.248,
"predicted_BB": 0.0,
"predicted_CF": 0.0,
"predicted_CS": 0.0,
"predicted_H": 2.0,
"predicted_HBP": 0.0,
"predicted_HR": 1.0,
"predicted_OBP": 0.3307,
"predicted_R": 1.0,
"predicted_RBI": 2.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.3593,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"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.248,
"delta": -0.038,
"percent_delta": -0.1329,
"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": 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.3307,
"delta": -0.0443,
"percent_delta": -0.1181,
"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.3593,
"delta": 0.0733,
"percent_delta": 0.2565,
"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.3593,
"delta": 0.0733,
"percent_delta": 0.2565,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_OBP",
"before": 0.375,
"after": 0.3307,
"delta": -0.0443,
"percent_delta": -0.1181,
"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.218,
"after": 0.0,
"delta": -0.218,
"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.372,
"after": 5.0,
"delta": 1.628,
"percent_delta": 0.4828,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.265,
"after": 0.248,
"delta": -0.017,
"percent_delta": -0.0642,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.474,
"after": 0.0,
"delta": -0.474,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.31,
"after": 2.0,
"delta": 1.69,
"percent_delta": 5.4516,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.03,
"after": 1.0,
"delta": 0.97,
"percent_delta": 32.3333,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.334,
"after": 0.3307,
"delta": -0.0033,
"percent_delta": -0.0099,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_R",
"before": 0.538,
"after": 1.0,
"delta": 0.462,
"percent_delta": 0.8587,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.17,
"after": 2.0,
"delta": 1.83,
"percent_delta": 10.7647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.403,
"after": 0.3593,
"delta": -0.0437,
"percent_delta": -0.1084,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.795,
"after": 1.0,
"delta": 0.205,
"percent_delta": 0.2579,
"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.17,
"after": 2.0,
"delta": 1.83,
"percent_delta": 10.7647,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.474,
"after": 0.0,
"delta": -0.474,
"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.218 | - |
| predicted_3B | 0.026 | - |
| predicted_AB | 3.372 | - |
| predicted_AVG | 0.265 | - |
| predicted_BB | 0.474 | - |
| predicted_H | 0.310 | - |
| predicted_HR | 0.030 | - |
| predicted_OBP | 0.334 | - |
| predicted_R | 0.538 | - |
| predicted_RBI | 0.170 | - |
| predicted_SLG | 0.403 | - |
| predicted_SO | 0.795 | - |
Final model 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.197 |
| predicted_3B | 0.047 | 0.021 |
| predicted_AB | 7.087 | 3.715 |
| predicted_AVG | 0.285 | 0.020 |
| predicted_BB | 0.879 | 0.405 |
| predicted_H | 1.791 | 1.481 |
| predicted_HBP | 0.077 | - |
| predicted_HR | 0.095 | 0.065 |
| predicted_OBP | 0.358 | 0.024 |
| predicted_R | 1.211 | 0.673 |
| predicted_RBI | 0.976 | 0.806 |
| predicted_SLG | 0.413 | 0.010 |
| predicted_SO | 1.542 | 0.747 |
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.047 | 0.000 |
| predicted_AB | 7.087 | 0.000 |
| predicted_AVG | 0.248 | -0.037 |
| predicted_BB | 0.876 | -0.003 |
| predicted_H | 1.758 | -0.033 |
| predicted_HBP | 0.077 | 0.000 |
| predicted_HR | 0.093 | -0.002 |
| predicted_OBP | 0.331 | -0.028 |
| predicted_R | 1.174 | -0.037 |
| predicted_RBI | 0.946 | -0.030 |
| predicted_SLG | 0.359 | -0.054 |
| predicted_SO | 1.548 | 0.006 |
AB rounded to 7 (raw=7.09), rates preserved: AVG=0.248 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 | 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.415 |
| predicted_3B | 0.000 | -0.047 |
| predicted_AB | 7.000 | -0.087 |
| predicted_AVG | 0.286 | 0.038 |
| predicted_BB | 1.000 | 0.124 |
| predicted_H | 2.000 | 0.242 |
| predicted_HR | 0.000 | -0.093 |
| predicted_OBP | 0.375 | 0.044 |
| predicted_R | 1.000 | -0.174 |
| predicted_RBI | 1.000 | 0.054 |
| predicted_SLG | 0.286 | -0.073 |
| predicted_SO | 2.000 | 0.452 |
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 | 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 | -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 | 10.000 | 0.000 | 0.000 | 0.000 | 4.000 | 5.000 | 0.000 | 1.000 | 0.5000 | 0.5000 | 0.5000 | 0.5000 | 0.0000 | 0.2000 | 0.0000 | 0.0500 |
| last_10 | 0.20 | 3 | - | 40.000 | 20.000 | 2.000 | 0.000 | 0.000 | 6.000 | 12.000 | 2.000 | 6.000 | 0.5000 | 0.5238 | 0.5500 | 0.5000 | 0.0000 | 0.1500 | 0.0500 | 0.1500 |
| season | 0.60 | 42 | - | 526.000 | 146.000 | 34.000 | 4.000 | 9.000 | 89.000 | 84.000 | 74.000 | 124.000 | 0.2776 | 0.3709 | 0.4087 | 0.2776 | 0.0171 | 0.1692 | 0.1407 | 0.2357 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6690 |
| predicted_3B | 0.0740 |
| predicted_AB | 11.8900 |
| predicted_AVG | 0.3116 |
| predicted_BB | 1.4030 |
| predicted_H | 3.7050 |
| predicted_HBP | 0.0770 |
| predicted_HR | 0.1800 |
| predicted_OBP | 0.3899 |
| predicted_R | 2.0820 |
| predicted_RBI | 2.0170 |
| predicted_SLG | 0.4258 |
| predicted_SO | 2.5070 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.2180 | 0.6690 | 0.4147 | model_form_blend |
| predicted_3B | 0.0260 | 0.0740 | 0.0469 | model_form_blend |
| predicted_AB | 3.3720 | 11.8900 | 7.0873 | model_form_blend |
| predicted_AVG | 0.2650 | 0.3116 | 0.2853 | model_form_blend |
| predicted_BB | 0.4740 | 1.4030 | 0.8792 | model_form_blend |
| predicted_H | 0.3100 | 3.7050 | 1.7908 | model_form_blend |
| predicted_HBP | - | 0.0770 | 0.0770 | form_only |
| predicted_HR | 0.0300 | 0.1800 | 0.0954 | model_form_blend |
| predicted_OBP | 0.3340 | 0.3899 | 0.3584 | model_form_blend |
| predicted_R | 0.5380 | 2.0820 | 1.2114 | model_form_blend |
| predicted_RBI | 0.1700 | 2.0170 | 0.9756 | model_form_blend |
| predicted_SLG | 0.4030 | 0.4258 | 0.4129 | model_form_blend |
| predicted_SO | 0.7950 | 2.5070 | 1.5417 | 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 | 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 | 5 |
| AB | 5 |
| H | 2 |
| 2B | 0 |
| 3B | 0 |
| HR | 1 |
| R | 1 |
| RBI | 2 |
| BB | 0 |
| SO | 1 |
| SF | 0 |
| HBP | 0 |
| season_avg | 0.278 |
| 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.5 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 2 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 1 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 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 | CF |
| gameID | 20260527_TB@BAL |
| game_type | full |
| mlbID | 665750 |
| playerID | 665750 |
| playerName | Leody Taveras |
| pos | CF |
| started | True |
| startingPosition | CF |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 21.6 |
| sl_bb_percent | 13.1 |
| sl_woba | 0.349 |
| sl_xwoba | 0.329 |
| sl_xba | 0.251 |
| sl_xslg | 0.373 |
| sl_sweet_spot_percent | 35.4 |
| sl_barrel_batted_rate | 5.1 |
| sl_hard_hit_percent | 32.3 |
| sl_exit_velocity_avg | 87.9 |
| sl_launch_angle_avg | 15.1 |
| sl_whiff_percent | 24.1 |
| sl_swing_percent | 46.7 |
| at_bat_number | 62.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | L |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 0.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 9.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 9.0 |
| ab_fld_score_start | 1.0 |
| ab_event | field_out |
| ab_event_description | Leody Taveras flies out to left fielder Chandler Simpson. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_hit_location | 7.0 |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 2.0 |
| ab_launch_speed_last | 86.1 |
| ab_launch_angle_last | 52.0 |
| ab_hit_distance_last | 234.0 |
| ab_estimated_ba_last | 0.011 |
| ab_estimated_woba_last | 0.014 |
| ab_estimated_slg_last | 0.019 |
| ab_woba_value | 0.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 0.0 |
| ab_balls_end | 0.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 9.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 9.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 1.0 |
| ab_release_speed_avg | 90.6 |
| ab_release_spin_rate_avg | 2198.0 |
| ab_effective_speed_avg | 90.9 |
| ab_launch_speed_avg | 86.1 |
| ab_launch_angle_avg | 52.0 |
| ab_delta_run_exp_avg | -0.256 |
| ab_delta_home_win_exp_avg | 0.0 |
| ab_delta_pitcher_run_exp_avg | 0.256 |
| ab_launch_speed_max | 86.1 |
| ab_hit_distance_sc_max | 234.0 |
| ab_release_speed_max | 90.6 |
| ab_release_spin_rate_max | 2198.0 |
| ab_release_speed_min | 90.6 |
| ab_release_spin_rate_min | 2198.0 |
| ab_delta_run_exp_sum | -0.256 |
| ab_delta_home_win_exp_sum | 0.0 |
| ab_delta_pitcher_run_exp_sum | 0.256 |
| ab_result_is_hit | False |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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.110 | 0.000 | 0.000 | Hitting_2B | 0.104 | 1.000 | -0.104 | -1.000 |
| predicted_3B | 0.008 | 0.000 | 0.000 | Hitting_3B | 0.007 | 0.000 | -0.007 | 0.000 |
| predicted_AB | 3.339 | 3.000 | 7.000 | Hitting_AB | 3.141 | 4.000 | -0.141 | -1.000 |
| predicted_AVG | 0.287 | 0.333 | 0.286 | Hitting_AVG | 0.262 | 0.750 | 0.072 | -0.417 |
| predicted_BB | 0.220 | 1.000 | 0.000 | Hitting_BB | 0.207 | 0.000 | 0.793 | 1.000 |
| predicted_CS | - | 0.000 | 0.000 | BaseRunning_CS | 0.052 | 0.000 | -0.052 | 0.000 |
| predicted_H | 0.670 | 1.000 | 2.000 | Hitting_H | 0.822 | 3.000 | 0.178 | -2.000 |
| predicted_HR | 0.070 | 0.000 | 0.000 | Hitting_HR | 0.030 | 1.000 | -0.030 | -1.000 |
| predicted_OBP | 0.327 | 0.500 | 0.286 | Hitting_OBP | 0.315 | 0.750 | 0.185 | -0.250 |
| predicted_R | 0.449 | 1.000 | 1.000 | Hitting_R | 0.422 | 1.000 | 0.578 | 0.000 |
| predicted_RBI | 0.460 | 0.000 | 2.000 | Hitting_RBI | 0.400 | 6.000 | -0.400 | -6.000 |
| predicted_SLG | 0.414 | 0.333 | 0.286 | Hitting_SLG | 0.328 | 1.750 | 0.006 | -1.417 |
| predicted_SO | 0.992 | 1.000 | 2.000 | Hitting_SO | 0.933 | 0.000 | 0.067 | 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 | 3 |
| Worse Metrics | 6 |
| Biggest Boost | predicted_BB: 0.2200 -> 1.0000 (boost 0.7800, 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 | 11 | 11 | 0 | 10 | 1 | predicted_AB: 3.3390 -> 6.6363 (boost 3.2973, 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.3378 -> 0.3119 (deboost -0.0259, 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: 1.5177 -> 2.0000 (boost 0.4823, better) | predicted_BB: 0.4024 -> 0.0000 (deboost -0.4024, worse) | AB rounded to 7 (raw=6.64), rates preserved: AVG=0.270 HR/AB=0.031 |
| 5 | bvp_blend | 0 | 0 | 0 | 0 | 0 | - | - | Sample-size BvP blend (BvP AB=5.0, weight=0.057, BvP AVG=0.200) |
| 6 | consistency_constraints | 1 | 1 | 0 | 1 | 0 | predicted_R: 0.9075 -> 1.0000 (boost 0.0925, better) | - | Enforced H<=AB, HR<=H, safety nets, derived R |
| 7 | embedded_savant_player_context | 3 | 1 | 2 | 1 | 2 | predicted_AVG: 0.2701 -> 0.2860 (boost 0.0159, better) | predicted_SLG: 0.4147 -> 0.2860 (deboost -0.1287, 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: 7.0000 -> 3.0000 (deboost -4.0000, worse) | Attached simulation box score without overwriting model prediction |
| 9 | current_json_final | 3 | 2 | 1 | 2 | 1 | predicted_SLG: 0.2860 -> 0.4147 (boost 0.1287, better) | predicted_AVG: 0.2860 -> 0.2701 (deboost -0.0159, worse) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "batter",
"player_id": "677942",
"player_name": "Blaze Alexander",
"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.11,
"predicted_3B": 0.008,
"predicted_AB": 3.339,
"predicted_AVG": 0.287,
"predicted_BB": 0.22,
"predicted_H": 0.67,
"predicted_HR": 0.07,
"predicted_OBP": 0.327,
"predicted_R": 0.449,
"predicted_RBI": 0.46,
"predicted_SLG": 0.414,
"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.3217,
"predicted_3B": 0.0145,
"predicted_AB": 6.6363,
"predicted_AVG": 0.2948,
"predicted_BB": 0.404,
"predicted_H": 1.8264,
"predicted_HBP": 0.107,
"predicted_HR": 0.2069,
"predicted_OBP": 0.3378,
"predicted_R": 0.9363,
"predicted_RBI": 1.5659,
"predicted_SLG": 0.438,
"predicted_SO": 1.7773
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.11,
"after": 0.3217,
"delta": 0.2117,
"percent_delta": 1.9245,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0145,
"delta": 0.0065,
"percent_delta": 0.8125,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.339,
"after": 6.6363,
"delta": 3.2973,
"percent_delta": 0.9875,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.2948,
"delta": 0.0078,
"percent_delta": 0.0272,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 0.404,
"delta": 0.184,
"percent_delta": 0.8364,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 0.67,
"after": 1.8264,
"delta": 1.1564,
"percent_delta": 1.726,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.07,
"after": 0.2069,
"delta": 0.1369,
"percent_delta": 1.9557,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3378,
"delta": 0.0108,
"percent_delta": 0.033,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_R",
"before": 0.449,
"after": 0.9363,
"delta": 0.4873,
"percent_delta": 1.0853,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_RBI",
"before": 0.46,
"after": 1.5659,
"delta": 1.1059,
"percent_delta": 2.4041,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SLG",
"before": 0.414,
"after": 0.438,
"delta": 0.024,
"percent_delta": 0.058,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 0.992,
"after": 1.7773,
"delta": 0.7853,
"percent_delta": 0.7916,
"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.339,
"after": 6.6363,
"delta": 3.2973,
"percent_delta": 0.9875,
"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": 3,
"season": 37
}
},
{
"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.3217,
"predicted_3B": 0.0145,
"predicted_AB": 6.6363,
"predicted_AVG": 0.2701,
"predicted_BB": 0.4024,
"predicted_H": 1.7926,
"predicted_HBP": 0.107,
"predicted_HR": 0.2029,
"predicted_OBP": 0.3119,
"predicted_R": 0.9075,
"predicted_RBI": 1.5177,
"predicted_SLG": 0.4147,
"predicted_SO": 1.7842
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3217,
"after": 0.3217,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 0.0145,
"after": 0.0145,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6363,
"after": 6.6363,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AVG",
"before": 0.2948,
"after": 0.2701,
"delta": -0.0247,
"percent_delta": -0.0838,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.404,
"after": 0.4024,
"delta": -0.0016,
"percent_delta": -0.004,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 1.8264,
"after": 1.7926,
"delta": -0.0338,
"percent_delta": -0.0185,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HBP",
"before": 0.107,
"after": 0.107,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_HR",
"before": 0.2069,
"after": 0.2029,
"delta": -0.004,
"percent_delta": -0.0193,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_OBP",
"before": 0.3378,
"after": 0.3119,
"delta": -0.0259,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.9363,
"after": 0.9075,
"delta": -0.0288,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_RBI",
"before": 1.5659,
"after": 1.5177,
"delta": -0.0482,
"percent_delta": -0.0308,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_SLG",
"before": 0.438,
"after": 0.4147,
"delta": -0.0233,
"percent_delta": -0.0532,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7773,
"after": 1.7842,
"delta": 0.0069,
"percent_delta": 0.0039,
"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.3378,
"after": 0.3119,
"delta": -0.0259,
"percent_delta": -0.0767,
"direction": "deboost",
"projection_effect": "worse",
"material": true
}
},
"weights": {},
"window_games": {}
},
{
"index": 4,
"step": "ab_floor_and_scaling",
"description": "AB rounded to 7 (raw=6.64), rates preserved: AVG=0.270 HR/AB=0.031",
"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": 2.0,
"predicted_SB": 0.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.3217,
"after": 0.0,
"delta": -0.3217,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.0145,
"after": 0.0,
"delta": -0.0145,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 6.6363,
"after": 7.0,
"delta": 0.3637,
"percent_delta": 0.0548,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.4024,
"after": 0.0,
"delta": -0.4024,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 1.7926,
"after": 2.0,
"delta": 0.2074,
"percent_delta": 0.1157,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_HBP",
"before": 0.107,
"after": 0.0,
"delta": -0.107,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_HR",
"before": 0.2029,
"after": 0.0,
"delta": -0.2029,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_RBI",
"before": 1.5177,
"after": 2.0,
"delta": 0.4823,
"percent_delta": 0.3178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_SO",
"before": 1.7842,
"after": 2.0,
"delta": 0.2158,
"percent_delta": 0.121,
"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": 1.5177,
"after": 2.0,
"delta": 0.4823,
"percent_delta": 0.3178,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_BB",
"before": 0.4024,
"after": 0.0,
"delta": -0.4024,
"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": 7.0,
"predicted_BB": 0.0,
"predicted_H": 2.0,
"predicted_HR": 0.0,
"predicted_RBI": 2.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": 2.0,
"after": 2.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": 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": 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": 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.9075,
"after": 1.0,
"delta": 0.0925,
"percent_delta": 0.1019,
"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": 0.9075,
"after": 1.0,
"delta": 0.0925,
"percent_delta": 0.1019,
"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": 2.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.2701,
"after": 0.286,
"delta": 0.0159,
"percent_delta": 0.0589,
"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.3119,
"after": 0.286,
"delta": -0.0259,
"percent_delta": -0.083,
"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_SLG",
"before": 0.4147,
"after": 0.286,
"delta": -0.1287,
"percent_delta": -0.3103,
"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.2701,
"after": 0.286,
"delta": 0.0159,
"percent_delta": 0.0589,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_SLG",
"before": 0.4147,
"after": 0.286,
"delta": -0.1287,
"percent_delta": -0.3103,
"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": 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": 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": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 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_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.2701,
"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.3119,
"predicted_R": 1.0,
"predicted_RBI": 0.0,
"predicted_SB": 0.0,
"predicted_SF": 0.0,
"predicted_SLG": 0.4147,
"predicted_SO": 1.0
},
"changed_metrics": [
{
"metric": "predicted_2B",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_3B",
"before": 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.2701,
"delta": -0.0159,
"percent_delta": -0.0555,
"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.3119,
"delta": 0.0259,
"percent_delta": 0.0904,
"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.4147,
"delta": 0.1287,
"percent_delta": 0.4499,
"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.4147,
"delta": 0.1287,
"percent_delta": 0.4499,
"direction": "boost",
"projection_effect": "better",
"material": true
},
"biggest_deboost": {
"metric": "predicted_AVG",
"before": 0.286,
"after": 0.2701,
"delta": -0.0159,
"percent_delta": -0.0555,
"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.11,
"after": 0.0,
"delta": -0.11,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_3B",
"before": 0.008,
"after": 0.0,
"delta": -0.008,
"percent_delta": -1.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_AB",
"before": 3.339,
"after": 3.0,
"delta": -0.339,
"percent_delta": -0.1015,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_AVG",
"before": 0.287,
"after": 0.2701,
"delta": -0.0169,
"percent_delta": -0.0589,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_BB",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"direction": "boost",
"projection_effect": "better",
"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.07,
"after": 0.0,
"delta": -0.07,
"percent_delta": -1.0,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_OBP",
"before": 0.327,
"after": 0.3119,
"delta": -0.0151,
"percent_delta": -0.0462,
"direction": "deboost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_R",
"before": 0.449,
"after": 1.0,
"delta": 0.551,
"percent_delta": 1.2272,
"direction": "boost",
"projection_effect": "better",
"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.414,
"after": 0.4147,
"delta": 0.0007,
"percent_delta": 0.0017,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"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": 9,
"boosted_metrics": 3,
"deboosted_metrics": 6,
"better_metrics": 3,
"worse_metrics": 6,
"biggest_boost": {
"metric": "predicted_BB",
"before": 0.22,
"after": 1.0,
"delta": 0.78,
"percent_delta": 3.5455,
"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.110 | - |
| predicted_3B | 0.008 | - |
| predicted_AB | 3.339 | - |
| predicted_AVG | 0.287 | - |
| predicted_BB | 0.220 | - |
| predicted_H | 0.670 | - |
| predicted_HR | 0.070 | - |
| predicted_OBP | 0.327 | - |
| predicted_R | 0.449 | - |
| predicted_RBI | 0.460 | - |
| predicted_SLG | 0.414 | - |
| 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.322 | 0.212 |
| predicted_3B | 0.015 | 0.007 |
| predicted_AB | 6.636 | 3.297 |
| predicted_AVG | 0.295 | 0.008 |
| predicted_BB | 0.404 | 0.184 |
| predicted_H | 1.826 | 1.156 |
| predicted_HBP | 0.107 | - |
| predicted_HR | 0.207 | 0.137 |
| predicted_OBP | 0.338 | 0.011 |
| predicted_R | 0.936 | 0.487 |
| predicted_RBI | 1.566 | 1.106 |
| predicted_SLG | 0.438 | 0.024 |
| predicted_SO | 1.777 | 0.785 |
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.015 | 0.000 |
| predicted_AB | 6.636 | 0.000 |
| predicted_AVG | 0.270 | -0.025 |
| predicted_BB | 0.402 | -0.002 |
| predicted_H | 1.793 | -0.034 |
| predicted_HBP | 0.107 | 0.000 |
| predicted_HR | 0.203 | -0.004 |
| predicted_OBP | 0.312 | -0.026 |
| predicted_R | 0.907 | -0.029 |
| predicted_RBI | 1.518 | -0.048 |
| predicted_SLG | 0.415 | -0.023 |
| predicted_SO | 1.784 | 0.007 |
AB rounded to 7 (raw=6.64), rates preserved: AVG=0.270 HR/AB=0.031
| 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 | 2.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 | 7.000 | 0.000 |
| BB | 0.000 | 0.000 |
| H | 2.000 | 0.000 |
| HR | 0.000 | 0.000 |
| RBI | 2.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 | 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.322 |
| predicted_3B | 0.000 | -0.015 |
| predicted_AB | 7.000 | 0.364 |
| predicted_AVG | 0.286 | 0.016 |
| predicted_BB | 0.000 | -0.402 |
| predicted_H | 2.000 | 0.207 |
| predicted_HR | 0.000 | -0.203 |
| predicted_OBP | 0.286 | -0.026 |
| predicted_R | 1.000 | 0.093 |
| predicted_RBI | 2.000 | 0.482 |
| predicted_SLG | 0.286 | -0.129 |
| predicted_SO | 2.000 | 0.216 |
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 | 1.000 | 0.000 |
| RBI | 0.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 | 12.000 | 4.000 | 0.000 | 4.000 | 25.000 | 4.000 | 0.000 | 1.000 | 0.6000 | 0.6000 | 1.4000 | 0.6000 | 0.2000 | 1.2500 | 0.0000 | 0.0500 |
| last_10 | 0.20 | 3 | - | 42.000 | 18.000 | 4.000 | 0.000 | 4.000 | 30.000 | 8.000 | 2.000 | 4.000 | 0.4286 | 0.4545 | 0.8095 | 0.4286 | 0.0952 | 0.7143 | 0.0476 | 0.0952 |
| season | 0.60 | 37 | - | 424.000 | 111.000 | 14.000 | 1.000 | 4.000 | 54.000 | 57.000 | 28.000 | 126.000 | 0.2618 | 0.3151 | 0.3278 | 0.2618 | 0.0094 | 0.1274 | 0.0660 | 0.2972 |
| Metric | Value |
|---|---|
| predicted_2B | 0.6000 |
| predicted_3B | 0.0230 |
| predicted_AB | 10.9720 |
| predicted_AVG | 0.3050 |
| predicted_BB | 0.6460 |
| predicted_H | 3.3470 |
| predicted_HBP | 0.1070 |
| predicted_HR | 0.3870 |
| predicted_OBP | 0.3520 |
| predicted_R | 1.5770 |
| predicted_RBI | 3.0200 |
| predicted_SLG | 0.4696 |
| predicted_SO | 2.8100 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_2B | 0.1100 | 0.6000 | 0.3217 | model_form_blend |
| predicted_3B | 0.0080 | 0.0230 | 0.0145 | model_form_blend |
| predicted_AB | 3.3390 | 10.9720 | 6.6363 | model_form_blend |
| predicted_AVG | 0.2870 | 0.3050 | 0.2948 | model_form_blend |
| predicted_BB | 0.2200 | 0.6460 | 0.4040 | model_form_blend |
| predicted_H | 0.6700 | 3.3470 | 1.8264 | model_form_blend |
| predicted_HBP | - | 0.1070 | 0.1070 | form_only |
| predicted_HR | 0.0700 | 0.3870 | 0.2069 | model_form_blend |
| predicted_OBP | 0.3270 | 0.3520 | 0.3378 | model_form_blend |
| predicted_R | 0.4490 | 1.5770 | 0.9363 | model_form_blend |
| predicted_RBI | 0.4600 | 3.0200 | 1.5659 | model_form_blend |
| predicted_SLG | 0.4140 | 0.4696 | 0.4380 | model_form_blend |
| predicted_SO | 0.9920 | 2.8100 | 1.7773 | 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 | 135 |
| Season rows before report date | 135 |
| Report year | 2026 |
| Profile rows used | 127 |
| 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.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.75 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 3 |
| Hitting_HBP | 0 |
| Hitting_HR | 1 |
| Hitting_IBB | 0 |
| Hitting_R | 1 |
| Hitting_RBI | 6 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 7 |
| 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-LF |
| gameID | 20260527_TB@BAL |
| game_type | full |
| mlbID | 677942 |
| playerID | 677942 |
| playerName | Blaze Alexander |
| pos | 3B |
| started | True |
| startingPosition | 3B |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 27.0 |
| sl_bb_percent | 6.3 |
| sl_woba | 0.263 |
| sl_xwoba | 0.312 |
| sl_xba | 0.281 |
| sl_xslg | 0.377 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 47.6 |
| sl_exit_velocity_avg | 92.0 |
| sl_launch_angle_avg | 8.4 |
| sl_whiff_percent | 32.0 |
| sl_swing_percent | 55.2 |
| at_bat_number | 64.0 |
| ab_pitcher | 669169.0 |
| ab_pitcher_name | Heasley, Jonathan |
| ab_home_team | BAL |
| ab_away_team | TB |
| ab_game_type | R |
| ab_stand | R |
| ab_p_throws | R |
| ab_inning | 7.0 |
| ab_inning_topbot | Bot |
| ab_outs_when_up | 1.0 |
| ab_on_1b_start | 681297.0 |
| ab_balls_start | 0.0 |
| ab_strikes_start | 0.0 |
| ab_home_score_start | 9.0 |
| ab_away_score_start | 1.0 |
| ab_bat_score_start | 9.0 |
| ab_fld_score_start | 1.0 |
| ab_event | home_run |
| ab_event_description | Blaze Alexander homers (1) on a fly ball to left center field. Colton Cowser scores. |
| ab_event_type | X |
| ab_bb_type | fly_ball |
| ab_pitch_type_last | FF |
| ab_pitch_name_last | 4-Seam Fastball |
| ab_zone_last | 4.0 |
| ab_launch_speed_last | 108.9 |
| ab_launch_angle_last | 28.0 |
| ab_hit_distance_last | 399.0 |
| ab_estimated_ba_last | 0.989 |
| ab_estimated_woba_last | 2.016 |
| ab_estimated_slg_last | 3.952 |
| ab_woba_value | 2.0 |
| ab_woba_denom | 1.0 |
| ab_babip_value | 0.0 |
| ab_iso_value | 3.0 |
| ab_balls_end | 1.0 |
| ab_strikes_end | 0.0 |
| ab_home_score_end | 11.0 |
| ab_away_score_end | 1.0 |
| ab_bat_score_end | 11.0 |
| ab_fld_score_end | 1.0 |
| ab_pitch_count | 2.0 |
| ab_release_speed_avg | 86.9 |
| ab_release_spin_rate_avg | 2043.5 |
| ab_effective_speed_avg | 86.7 |
| ab_launch_speed_avg | 108.9 |
| ab_launch_angle_avg | 28.0 |
| ab_delta_run_exp_avg | 0.7305 |
| ab_delta_home_win_exp_avg | 0.0005 |
| ab_delta_pitcher_run_exp_avg | -0.7305 |
| ab_bat_speed_avg | 75.9 |
| ab_swing_length_avg | 8.2 |
| ab_launch_speed_max | 108.9 |
| ab_hit_distance_sc_max | 399.0 |
| ab_release_speed_max | 90.9 |
| ab_release_spin_rate_max | 2061.0 |
| ab_release_speed_min | 82.9 |
| ab_release_spin_rate_min | 2026.0 |
| ab_delta_run_exp_sum | 1.461 |
| ab_delta_home_win_exp_sum | 0.001 |
| ab_delta_pitcher_run_exp_sum | -1.461 |
| ab_result_is_hit | True |
| ab_result_is_walk | False |
| ab_result_is_strikeout | False |
| 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_BB | 0.000 | 0.000 | 0.000 | Pitching_BB | 1.900 | 0.000 | -1.900 | 0.000 |
| predicted_ER | 3.000 | 3.000 | 3.000 | Pitching_ER | 2.900 | 3.000 | 0.100 | 0.000 |
| predicted_H | 3.000 | 3.000 | 3.000 | Pitching_H | 6.000 | 6.000 | -3.000 | -3.000 |
| predicted_IP | 4.200 | 4.200 | 4.200 | Pitching_InningsPitched | 4.570 | 4.100 | -0.370 | 0.100 |
| predicted_SO | 5.000 | 5.000 | 5.000 | Pitching_SO | 3.400 | 4.000 | 1.600 | 1.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | worse |
| Changed Metrics | 3 |
| Boosted Metrics | 2 |
| Deboosted Metrics | 1 |
| Better Metrics | 0 |
| Worse Metrics | 3 |
| Biggest Boost | predicted_H: 0.0000 -> 3.0000 (boost 3.0000, worse) |
| Biggest Deboost | predicted_IP: 5.0000 -> 4.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: 5.0000 -> 4.2000 (deboost -0.8000, worse) | Starter workload capped by recent innings, season ERA/WHIP, and team-form context. |
| 3 | starter_quality_floor | 2 | 2 | 0 | 0 | 2 | predicted_H: 0.0000 -> 3.0000 (boost 3.0000, worse) | - | Weak starter floor restored expected damage from recent form instead of assigning it to zero-inning bullpen rows. |
| 4 | current_json_final | 0 | 0 | 0 | 0 | 0 | - | - | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "605135",
"player_name": "Chris Bassitt",
"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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 0.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": 0.0,
"predicted_ER": 2.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 5.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": 2.0,
"after": 2.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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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.2,
"delta": -0.8,
"percent_delta": -0.16,
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_SO": 5.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": 2.0,
"after": 3.0,
"delta": 1.0,
"percent_delta": 0.5,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
{
"metric": "predicted_H",
"before": 0.0,
"after": 3.0,
"delta": 3.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": 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": 2,
"boosted_metrics": 2,
"deboosted_metrics": 0,
"better_metrics": 0,
"worse_metrics": 2,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"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": 0.0,
"predicted_ER": 3.0,
"predicted_H": 3.0,
"predicted_HR": 0.0,
"predicted_IP": 4.2,
"predicted_R": 3.0,
"predicted_SO": 5.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 3.0,
"after": 3.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_H",
"before": 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": 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": 0.0,
"after": 0.0,
"delta": 0.0,
"percent_delta": null,
"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": 0.0,
"after": 3.0,
"delta": 3.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": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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": 3,
"boosted_metrics": 2,
"deboosted_metrics": 1,
"better_metrics": 0,
"worse_metrics": 3,
"biggest_boost": {
"metric": "predicted_H",
"before": 0.0,
"after": 3.0,
"delta": 3.0,
"percent_delta": null,
"direction": "boost",
"projection_effect": "worse",
"material": true
},
"biggest_deboost": {
"metric": "predicted_IP",
"before": 5.0,
"after": 4.2,
"delta": -0.8,
"percent_delta": -0.16,
"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 | 2.000 | - |
| predicted_H | 0.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 | 0.000 | 0.000 |
| predicted_ER | 2.000 | 0.000 |
| predicted_H | 0.000 | 0.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | -0.800 |
| 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 | 0.000 | 0.000 |
| predicted_ER | 3.000 | 1.000 |
| predicted_H | 3.000 | 3.000 |
| predicted_HR | 0.000 | 0.000 |
| predicted_IP | 4.200 | 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 | 26.000 | 13.000 | 29.000 | 6.000 | 24.000 | 1.000 | 4.5000 | 1.3462 | 0.5000 | 1.1154 | 0.2308 | 0.9231 | 0.0385 |
| last_10 | 0.35 | 10 | 47.100 | 29.000 | 60.000 | 19.000 | 34.000 | 4.000 | 5.5141 | 1.6690 | 0.6127 | 1.2676 | 0.4014 | 0.7183 | 0.0845 |
| season | 0.20 | 10 | 47.100 | 29.000 | 60.000 | 19.000 | 34.000 | 4.000 | 5.5141 | 1.6690 | 0.6127 | 1.2676 | 0.4014 | 0.7183 | 0.0845 |
| Metric | Value |
|---|---|
| predicted_BB | 1.6420 |
| predicted_ER | 2.6310 |
| predicted_ERA | 4.7095 |
| predicted_H | 5.5420 |
| predicted_HR | 0.4160 |
| predicted_IP | 5.0000 |
| predicted_SO | 4.3760 |
| predicted_WHIP | 1.4290 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 0.0000 | 1.6420 | 0.8361 | model_form_blend |
| predicted_ER | 2.0000 | 2.6310 | 2.3213 | model_form_blend |
| predicted_ERA | - | 4.7095 | 4.7095 | form_only |
| predicted_H | 0.0000 | 5.5420 | 2.8219 | model_form_blend |
| predicted_HR | 0.0000 | 0.4160 | 0.2118 | model_form_blend |
| predicted_IP | 5.0000 | 5.0000 | 5.0000 | model_form_blend |
| predicted_SO | 5.0000 | 4.3760 | 4.6823 | model_form_blend |
| predicted_WHIP | - | 1.4290 | 1.4290 | 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.2 |
| H | 3 |
| R | 3 |
| ER | 3 |
| BB | 0 |
| SO | 5 |
| HR | 0 |
| BF | 17 |
| Pitches | 88 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_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 | 20 |
| Pitching_ER | 3 |
| Pitching_ERA | 5.51 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 7 |
| Pitching_H | 6 |
| Pitching_HBP | 0 |
| Pitching_HR | 0 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 4.1 |
| Pitching_Pitches | 58 |
| Pitching_R | 3 |
| Pitching_SO | 4 |
| Pitching_Strikes | 38 |
| Pitching_Wild Pitch | 0 |
| Pitching_decision | W |
| Pitching_pitchingOrder | 2 |
| allPositionsPlayed | P |
| gameID | 20260522_DET@BAL |
| game_type | full |
| mlbID | 605135 |
| playerID | 605135 |
| playerName | Chris Bassitt |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-22 |
| game_pk | 824842.0 |
| sl_k_percent | 15.3 |
| sl_bb_percent | 8.6 |
| sl_woba | 0.368 |
| sl_xwoba | 0.345 |
| sl_sweet_spot_percent | 31.5 |
| sl_barrel_batted_rate | 3.7 |
| sl_hard_hit_percent | 37.0 |
| sl_whiff_percent | 22.1 |
| sl_swing_percent | 45.6 |
| sv_pitch_count | 58.0 |
| sv_outs_recorded_est | 13.0 |
| sv_release_speed | 84.53793103448275 |
| sv_release_spin_rate | 2137.4137931034484 |
| sv_effective_speed | 84.31206896551724 |
| sv_launch_speed | 84.03181818181818 |
| sv_launch_angle | 9.681818181818182 |
| sv_woba_value | 7.7 |
| sv_woba_denom | 20.0 |
| sv_delta_run_exp | 0.6169999999999999 |
| sv_delta_home_win_exp | -0.172 |
| sl_avg_best_speed | 76.5099035 |
| sl_avg_hyper_speed | 93.774740563 |
| 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.320 | 0.000 | 0.680 | 1.000 |
| predicted_ER | 0.000 | 0.000 | 0.000 | Pitching_ER | 0.560 | 0.000 | -0.560 | 0.000 |
| predicted_H | 0.000 | 0.000 | 0.000 | Pitching_H | 0.880 | 0.000 | -0.880 | 0.000 |
| predicted_IP | 1.000 | 1.000 | 1.000 | Pitching_InningsPitched | 0.924 | 1.000 | 0.076 | 0.000 |
| predicted_SO | 3.000 | 3.000 | 3.000 | Pitching_SO | 1.120 | 0.000 | 1.880 | 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": "689296",
"player_name": "Anthony Nunez",
"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": 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": 1.0,
"predicted_ER": 0.0,
"predicted_H": 0.0,
"predicted_HR": 0.0,
"predicted_IP": 1.0,
"predicted_R": 0.0,
"predicted_SO": 3.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 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": 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": 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": 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,
"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 | 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 | 4.100 | 5.000 | 5.000 | 1.000 | 3.000 | 0.000 | 10.3846 | 1.3846 | 1.1539 | 1.1539 | 0.2308 | 0.6923 | 0.0000 |
| last_10 | 0.35 | 10 | 10.100 | 7.000 | 8.000 | 3.000 | 10.000 | 2.000 | 6.0968 | 1.0645 | 0.6774 | 0.7742 | 0.2903 | 0.9677 | 0.1935 |
| season | 0.20 | 24 | 25.200 | 11.000 | 20.000 | 6.000 | 28.000 | 4.000 | 3.8571 | 1.0130 | 0.4286 | 0.7792 | 0.2338 | 1.0909 | 0.1558 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3100 |
| predicted_ER | 0.6580 |
| predicted_ERA | 5.9201 |
| predicted_H | 0.9450 |
| predicted_HR | 0.1150 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9060 |
| predicted_WHIP | 1.2548 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3100 | 0.6964 | model_form_blend |
| predicted_ER | 0.0000 | 0.6580 | 0.2896 | model_form_blend |
| predicted_ERA | - | 5.9201 | 5.9201 | form_only |
| predicted_H | 0.0000 | 0.9450 | 0.4159 | model_form_blend |
| predicted_HR | 0.0000 | 0.1150 | 0.0506 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 3.0000 | 0.9060 | 2.0785 | model_form_blend |
| predicted_WHIP | - | 1.2548 | 1.2548 | 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 | 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 | 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 | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 3 |
| Pitching_ER | 0 |
| Pitching_ERA | 4.91 |
| 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 | 10 |
| Pitching_R | 0 |
| Pitching_SO | 0 |
| Pitching_Strikes | 8 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260527_TB@BAL |
| game_type | full |
| mlbID | 689296 |
| playerID | 689296 |
| playerName | Anthony Nunez |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-27 |
| game_pk | 824836.0 |
| sl_k_percent | 26.7 |
| sl_bb_percent | 7.6 |
| sl_woba | 0.311 |
| sl_xwoba | 0.329 |
| sl_sweet_spot_percent | 40.6 |
| sl_barrel_batted_rate | 8.7 |
| sl_hard_hit_percent | 46.4 |
| sl_whiff_percent | 35.6 |
| sl_swing_percent | 48.9 |
| sv_pitch_count | 10.0 |
| sv_outs_recorded_est | 3.0 |
| sv_release_speed | 91.48 |
| sv_release_spin_rate | 2236.3 |
| sv_effective_speed | 91.37 |
| sv_launch_speed | 80.58 |
| sv_launch_angle | 12.8 |
| sv_woba_value | 0.0 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | -0.756 |
| sv_delta_home_win_exp | 0.001 |
| sl_avg_best_speed | 78.343427941 |
| sl_avg_hyper_speed | 94.756601493 |
| 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.360 | 2.000 | 0.640 | -1.000 |
| predicted_ER | 2.000 | 2.000 | 2.000 | Pitching_ER | 0.080 | 0.000 | 1.920 | 2.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.240 | 1.000 | 0.760 | 0.000 |
| predicted_IP | 1.200 | 1.200 | 1.200 | Pitching_InningsPitched | 0.840 | 2.000 | 0.360 | -0.800 |
| predicted_SO | 1.000 | 1.000 | 1.000 | Pitching_SO | 1.080 | 1.000 | -0.080 | 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": 1.0,
"predicted_ER": 2.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": 2.0,
"predicted_H": 1.0,
"predicted_HR": 1.0,
"predicted_IP": 1.2,
"predicted_R": 2.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": 2.0,
"after": 2.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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.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": 1.0,
"after": 1.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": 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.2,
"delta": 0.2,
"percent_delta": 0.2,
"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.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 | 1.000 | - |
| predicted_ER | 2.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 | 1.000 | 5.000 | 2.000 | 5.000 | 0.000 | 2.0769 | 1.6154 | 0.2308 | 1.1539 | 0.4615 | 1.1539 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 5.000 | 5.000 | 12.000 | 0.000 | 0.9310 | 1.0345 | 0.1035 | 0.5172 | 0.5172 | 1.2414 | 0.0000 |
| season | 0.20 | 25 | 23.100 | 2.000 | 6.000 | 9.000 | 27.000 | 1.000 | 0.7714 | 0.6429 | 0.0857 | 0.2571 | 0.3857 | 1.1571 | 0.0429 |
| Metric | Value |
|---|---|
| predicted_BB | 0.4150 |
| predicted_ER | 0.3210 |
| predicted_ERA | 2.8865 |
| predicted_H | 0.8510 |
| predicted_HR | 0.0720 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.0600 |
| predicted_WHIP | 1.2668 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.4150 | 0.7484 | model_form_blend |
| predicted_ER | 2.0000 | 0.3210 | 1.2780 | model_form_blend |
| predicted_ERA | - | 2.8865 | 2.8865 | form_only |
| predicted_H | 1.0000 | 0.8510 | 0.9359 | model_form_blend |
| predicted_HR | 1.0000 | 0.0720 | 0.6010 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 1.0000 | 1.0600 | 1.0258 | model_form_blend |
| predicted_WHIP | - | 1.2668 | 1.2668 | 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.2 |
| H | 1 |
| R | 2 |
| ER | 2 |
| BB | 1 |
| SO | 1 |
| HR | 1 |
| 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 | 2 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 8 |
| Pitching_ER | 0 |
| Pitching_ERA | 0.77 |
| 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 | 32 |
| Pitching_R | 0 |
| Pitching_SO | 1 |
| Pitching_Strikes | 17 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 5 |
| allPositionsPlayed | P |
| gameID | 20260525_TB@BAL |
| game_type | full |
| mlbID | 670329 |
| playerID | 670329 |
| playerName | Rico Garcia |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-25 |
| game_pk | 824838.0 |
| sl_k_percent | 32.5 |
| sl_bb_percent | 10.8 |
| sl_woba | 0.158 |
| sl_xwoba | 0.239 |
| sl_sweet_spot_percent | 23.4 |
| sl_barrel_batted_rate | 4.3 |
| sl_hard_hit_percent | 31.9 |
| sl_whiff_percent | 40.3 |
| sl_swing_percent | 47.0 |
| sv_pitch_count | 34.0 |
| sv_outs_recorded_est | 5.0 |
| sv_release_speed | 90.89375 |
| sv_release_spin_rate | 2452.71875 |
| sv_effective_speed | 90.13125 |
| sv_launch_speed | 86.65555555555555 |
| sv_launch_angle | 33.22222222222222 |
| sv_woba_value | 2.0 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | -0.8 |
| sv_delta_home_win_exp | 1.231 |
| sl_avg_best_speed | 72.558437917 |
| sl_avg_hyper_speed | 92.959907234 |
| 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.316 | 0.000 | 0.684 | 1.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.474 | 1.000 | 0.526 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 1.211 | 1.000 | -0.211 | 0.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 1.247 | 2.000 | -0.147 | -0.900 |
| predicted_SO | 2.000 | 2.000 | 2.000 | Pitching_SO | 1.316 | 3.000 | 0.684 | -1.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 | 3 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) |
| Biggest Deboost | predicted_H: 3.0000 -> 1.0000 (deboost -2.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 | 3 | 1 | 2 | 3 | 0 | predicted_IP: 1.0000 -> 1.1000 (boost 0.1000, better) | predicted_H: 3.0000 -> 1.0000 (deboost -2.0000, better) | Final player values currently stored in the game JSON |
{
"trace_version": "1.0",
"role": "pitcher",
"player_id": "669330",
"player_name": "Tyler Wells",
"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": 2.0,
"predicted_H": 3.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": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 2.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 1.0,
"after": 1.0,
"delta": 0.0,
"percent_delta": 0.0,
"direction": "no_change",
"projection_effect": "neutral",
"material": false
},
{
"metric": "predicted_ER",
"before": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 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": 3,
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 2.0,
"after": 1.0,
"delta": -1.0,
"percent_delta": -0.5,
"direction": "deboost",
"projection_effect": "better",
"material": true
},
{
"metric": "predicted_H",
"before": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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": 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": 3,
"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": 3.0,
"after": 1.0,
"delta": -2.0,
"percent_delta": -0.6667,
"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 | 2.000 | - |
| predicted_H | 3.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 | 7.000 | 2.000 | 5.000 | 2.000 | 7.000 | 1.000 | 2.5714 | 1.0000 | 0.2857 | 0.7143 | 0.2857 | 1.0000 | 0.1429 |
| last_10 | 0.35 | 10 | 14.100 | 3.000 | 11.000 | 2.000 | 14.000 | 1.000 | 1.8837 | 0.9070 | 0.2093 | 0.7674 | 0.1395 | 0.9767 | 0.0698 |
| season | 0.20 | 19 | 25.100 | 9.000 | 23.000 | 6.000 | 25.000 | 3.000 | 3.1974 | 1.1447 | 0.3553 | 0.9079 | 0.2368 | 0.9868 | 0.1184 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3460 |
| predicted_ER | 0.4340 |
| predicted_ERA | 3.3489 |
| predicted_H | 1.0000 |
| predicted_HR | 0.1420 |
| predicted_IP | 1.0000 |
| predicted_SO | 1.1280 |
| predicted_WHIP | 1.1543 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3460 | 0.7131 | model_form_blend |
| predicted_ER | 2.0000 | 0.4340 | 1.3130 | model_form_blend |
| predicted_ERA | - | 3.3489 | 3.3489 | form_only |
| predicted_H | 3.0000 | 1.0000 | 2.1227 | model_form_blend |
| predicted_HR | 0.0000 | 0.1420 | 0.0623 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 2.0000 | 1.1280 | 1.6175 | model_form_blend |
| predicted_WHIP | - | 1.1543 | 1.1543 | 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 | 1 |
| R | 1 |
| ER | 1 |
| BB | 1 |
| SO | 2 |
| HR | 0 |
| BF | 6 |
| Pitches | 24 |
| Latest Real Data Column | Value |
|---|---|
| BaseRunning_CS | 0 |
| BaseRunning_PO | 0 |
| BaseRunning_SB | 0 |
| Fielding_E | 0 |
| Fielding_Outfield assists | 0 |
| Fielding_Passed Ball | 0 |
| Fielding_Pickoffs | 0 |
| Hitting_2B | 0 |
| Hitting_3B | 0 |
| Hitting_AB | 0 |
| Hitting_AVG | 0.0 |
| Hitting_BB | 0 |
| Hitting_GIDP | 0 |
| Hitting_H | 0 |
| Hitting_HBP | 0 |
| Hitting_HR | 0 |
| Hitting_IBB | 0 |
| Hitting_R | 0 |
| Hitting_RBI | 0 |
| Hitting_SAC | 0 |
| Hitting_SF | 0 |
| Hitting_SO | 0 |
| Hitting_TB | 0 |
| Hitting_battingOrder | 0 |
| Hitting_substitutionOrder | 0 |
| Pitching_BB | 0 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 7 |
| Pitching_ER | 1 |
| Pitching_ERA | 3.20 |
| Pitching_Flyouts | 2 |
| Pitching_Groundouts | 0 |
| Pitching_H | 1 |
| Pitching_HBP | 0 |
| Pitching_HR | 1 |
| Pitching_Inherited Runners | 0 |
| Pitching_Inherited Runners Scored | 0 |
| Pitching_InningsPitched | 2.0 |
| Pitching_Pitches | 29 |
| Pitching_R | 3 |
| Pitching_SO | 3 |
| Pitching_Strikes | 19 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 6 |
| allPositionsPlayed | P |
| gameID | 20260525_TB@BAL |
| game_type | full |
| mlbID | 669330 |
| playerID | 669330 |
| playerName | Tyler Wells |
| pos | P |
| started | False |
| startingPosition | P |
| team | BAL |
| teamID | 3 |
| game_date | 2026-05-25 |
| game_pk | 824838.0 |
| sl_k_percent | 24.3 |
| sl_bb_percent | 5.8 |
| sl_woba | 0.308 |
| sl_xwoba | 0.306 |
| sl_sweet_spot_percent | 36.6 |
| sl_barrel_batted_rate | 7.0 |
| sl_hard_hit_percent | 36.6 |
| sl_whiff_percent | 27.7 |
| sl_swing_percent | 50.4 |
| sv_pitch_count | 29.0 |
| sv_outs_recorded_est | 6.0 |
| sv_release_speed | 89.49310344827587 |
| sv_release_spin_rate | 2401.689655172414 |
| sv_effective_speed | 89.44137931034483 |
| sv_launch_speed | 85.26 |
| sv_launch_angle | 31.9 |
| sv_woba_value | 2.0 |
| sv_woba_denom | 7.0 |
| sv_delta_run_exp | -0.028 |
| sv_delta_home_win_exp | 0.7290000000000001 |
| sl_avg_best_speed | 79.288414412 |
| sl_avg_hyper_speed | 93.533508088 |
| 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.160 | 1.000 | 0.840 | 0.000 |
| predicted_ER | 1.000 | 1.000 | 1.000 | Pitching_ER | 0.160 | 1.000 | 0.840 | 0.000 |
| predicted_H | 1.000 | 1.000 | 1.000 | Pitching_H | 0.400 | 3.000 | 0.600 | -2.000 |
| predicted_IP | 1.100 | 1.100 | 1.100 | Pitching_InningsPitched | 0.652 | 0.000 | 0.448 | 1.100 |
| predicted_SO | 0.000 | 0.000 | 0.000 | Pitching_SO | 0.640 | 0.000 | -0.640 | 0.000 |
| Impact Item | Value |
|---|---|
| From | pitcher_form_blend |
| To | current_json_final |
| Dominant Effect | better |
| Changed Metrics | 2 |
| Boosted Metrics | 1 |
| Deboosted Metrics | 1 |
| Better Metrics | 2 |
| Worse Metrics | 0 |
| Biggest Boost | predicted_IP: 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": "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": 1.0,
"predicted_ER": 1.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": 1.0,
"predicted_ER": 1.0,
"predicted_H": 1.0,
"predicted_HR": 0.0,
"predicted_IP": 1.1,
"predicted_R": 1.0,
"predicted_SO": 0.0
},
"changed_metrics": [
{
"metric": "predicted_BB",
"before": 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": 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": 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": 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 | 1.000 | - |
| predicted_ER | 1.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 | 1.000 | 0.000 | 2.000 | 5.000 | 0.000 | 2.0769 | 0.4615 | 0.2308 | 0.0000 | 0.4615 | 1.1539 | 0.0000 |
| last_10 | 0.35 | 10 | 9.200 | 1.000 | 2.000 | 2.000 | 7.000 | 0.000 | 0.9310 | 0.4138 | 0.1035 | 0.2069 | 0.2069 | 0.7241 | 0.0000 |
| season | 0.20 | 24 | 19.100 | 3.000 | 7.000 | 3.000 | 16.000 | 1.000 | 1.3966 | 0.5172 | 0.1552 | 0.3621 | 0.1552 | 0.8276 | 0.0517 |
| Metric | Value |
|---|---|
| predicted_BB | 0.3340 |
| predicted_ER | 0.3320 |
| predicted_ERA | 3.0723 |
| predicted_H | 0.5800 |
| predicted_HR | 0.0770 |
| predicted_IP | 1.0000 |
| predicted_SO | 0.9140 |
| predicted_WHIP | 0.9417 |
| Metric | Model | Weighted Form | Final Model Input | Source |
|---|---|---|---|---|
| predicted_BB | 1.0000 | 0.3340 | 0.7267 | model_form_blend |
| predicted_ER | 1.0000 | 0.3320 | 0.7259 | model_form_blend |
| predicted_ERA | - | 3.0723 | 3.0723 | form_only |
| predicted_H | 2.0000 | 0.5800 | 1.4174 | model_form_blend |
| predicted_HR | 0.0000 | 0.0770 | 0.0316 | model_form_blend |
| predicted_IP | 1.0000 | 1.0000 | 1.0000 | model_form_blend |
| predicted_SO | 0.0000 | 0.9140 | 0.3750 | model_form_blend |
| predicted_WHIP | - | 0.9417 | 0.9417 | 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 | 24 |
| 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 | 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 | 1 |
| Pitching_Balk | 0 |
| Pitching_Batters Faced | 4 |
| Pitching_ER | 1 |
| Pitching_ERA | 1.86 |
| 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.0 |
| Pitching_Pitches | 15 |
| Pitching_R | 1 |
| Pitching_SO | 0 |
| Pitching_Strikes | 9 |
| Pitching_Wild Pitch | 0 |
| Pitching_pitchingOrder | 3 |
| allPositionsPlayed | P |
| gameID | 20260527_TB@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-27 |
| game_pk | 824836.0 |
| sl_k_percent | 23.9 |
| sl_bb_percent | 4.5 |
| sl_woba | 0.165 |
| sl_xwoba | 0.299 |
| sl_sweet_spot_percent | 25.5 |
| sl_barrel_batted_rate | 10.6 |
| sl_hard_hit_percent | 42.6 |
| sl_whiff_percent | 28.0 |
| sl_swing_percent | 46.5 |
| sv_pitch_count | 15.0 |
| sv_outs_recorded_est | 0.0 |
| sv_release_speed | 92.66666666666669 |
| sv_release_spin_rate | 1932.9333333333327 |
| sv_effective_speed | 91.25333333333332 |
| sv_launch_speed | 78.22500000000001 |
| sv_launch_angle | -27.0 |
| sv_woba_value | 2.7 |
| sv_woba_denom | 3.0 |
| sv_delta_run_exp | 1.718 |
| sv_delta_home_win_exp | -0.005 |
| sl_avg_best_speed | 78.4212775 |
| sl_avg_hyper_speed | 93.999238723 |